今天参考json-c的源码

读到一个关于attribute 扩展

static void json_object_init(void) __attribute__ ((constructor));
static void json_object_fini(void) __attribute__ ((destructor));

google到含义如下

void main_enter() __attribute__((constructor));//main_enter函数在进入main函数前调用

void main_exit() __attribute__((destructor));//main_exit函数在main函数返回后调用

在main之后调用,可以用

at_exit(); 注册函数,但函数声明类型固定了。

在main之前调用,可以利用全局变量来做。

这个扩展好,今后好好用到。

转载于:https://www.cnblogs.com/westfly/archive/2012/06/07/2540500.html

attribute 扩展相关推荐

  1. 利用Attribute扩展MVC的Title和Sitemap

    开篇 无论是 Asp.net 还是 MVC 中,想要设置网站的 Title 或者 Sitemap (不用控件)总是很麻烦. Title 和 Sitemap 都是有关联的,所以有什么办法可以 Write ...

  2. 谈谈C++新标准带来的属性(Attribute)

    简介: 从C++11开始,标准引入了一个新概念"属性(attribute)",本文将简单介绍一下目前在C++标准中已经添加的各个属性以及常用属性的具体应用. 作者 | 寒冬 来源 ...

  3. DPDK pci驱动探测(十八)

    上一篇文章已经介绍了pci设备的背景知识, 现在我们来分析下pci设备是如何探测到支持的驱动,进而与驱动进行关联:pci与驱动的解除绑定:pci设备与uio设备的关联. 一.pci驱动注册 网卡驱动的 ...

  4. 【嵌入式】C语言高级编程-变参函数(08)

    00. 目录 文章目录 00. 目录 01. format属性声明 02. 变参函数的设计思路 03. 变参函数宏 04. 应用示例 05. 附录 01. format属性声明 GNU 通过 attr ...

  5. CMock使用手册翻译

    译者注:译者博客(http://blog.csdn.net/lin_strong),转载请保留这条.此为CMock使用手册的翻译,仅供学习交流使用,请勿用于商业用途. 翻译的资料是公开的,在docs/ ...

  6. 计算机专业英语实战记录(整理了上千个相关单词)

    自上一篇<每次阅读外文技术资料都头疼,终于知道原因了>已过去多月,最近又在做简单的实践,实践方式很朴素,就是对照阅读React官方资料和国内翻译的资料,逐句对比,发现了许多问题,特在此记录 ...

  7. 代码阅读工具学习总结

    代码阅读工具:Source Navigator和Source Insight 一.Source Insight实用技巧: Source Insight(下文的SI指的也是它)就是这样的一个东西: Wi ...

  8. Linux DPDK UIO

    前期学习了一些DPDK的demo,了解了一些基础DPDK的应用.对dpdk的一些底层原理没做过多分析,今天主要学习用户态驱动程序的实现情况. 0x02 用户态驱动程序UIO UIO(Userspace ...

  9. 认识DPDK的UIO驱动(一)

    用户态驱动程序UIO UIO(Userspace I/O)是运行在用户空间的I/O技术.Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可. UIO的内核部分和用户空间的 ...

最新文章

  1. 抛弃VS Code,我还能用啥编辑器?| 技术头条
  2. 你太菜了,竟然不知道Code Review...
  3. 调用python_「Python 进阶」python 实现链式调用
  4. python numpy np.convolve()函数(返回两个一维序列的离散线性卷积)
  5. iptables下开放ftp连接端口
  6. 程序员修炼之道:从小工到专家读后感02
  7. kibana安装与Kibana server is not ready yet
  8. c#使用System.Windows.Forms.DataVisualization.Charting.dll绘制图表实例
  9. 前端学习(3252):react脚手架
  10. 数组任意取三个数中乘积最大值
  11. Algorithm:多维数组和矩阵
  12. “凡事不发朋友圈的人,都是过的不好的人”你认同这句话吗为什么?
  13. [设想]增加比较的多元运算符
  14. Project Euler 628: Open chess positions(公式)
  15. 年度调薪一般涨多少_涨了!长沙各小区房价曝光!快来看看你的房子涨了多少钱...
  16. springmvc中关于post请求会出现乱码的整理
  17. codeblocks解决网络方面错误undefined reference to `inet_ntoa@4'|
  18. Mac系统Cornerstone安装和使用说明(最佳的SVN管理工具)
  19. RTKLIB(二)——RTKPOST
  20. Vue+FusionCharts 动态获取数据生成甘特图

热门文章

  1. [Redux/Mobx] 在Redux中怎么发起网络请求?
  2. [软技能] png-8和png-24有什么区别?
  3. 工作132:页面布局
  4. 工作125:各个接口需要的token不同 token是获取数据的关键
  5. 前端学习(1974)vue之电商管理系统电商系统之完成删除的操作
  6. 前端学习(1677):前端系列实战课程之游戏初始化
  7. 第十九期:HTTPS虐我千百遍,我却待她如初恋!
  8. 67 cookie常用方法
  9. 项目管理(6):备战pmp
  10. CSS中设置border属性为0与none的区别