关于GCC的__attribute__(constructor)
来源:互联网 发布:女留学生遇害 知乎 编辑:程序博客网 时间:2024/05/20 04:32
转自:http://blog.chinaunix.net/uid-24512513-id-3195102.html
今天写一个动态库,需要让动态库有一个类似于windows的DLLMain函数一样功能的函数,可惜发现Linux没有这样的功能,于是查阅了大量的资料,最后发现GCC的__attribute__属性设置可以将函数设置成类似于这样功能的函数:
- __attribute__((constructor)) // 在main函数被调用之前调用
- __attribute__((destructor)) // 在main函数被调用之后调
点击(此处)折叠或打开
- #include<stdio.h>
- __attribute__((constructor)) void before_main() {
- printf("before main\n");
- }
- __attribute__((destructor)) void after_main() {
- printf("after main\n");
- }
-
- int main(int argc, char **argv) {
- printf("in main\n");
- return 0;
- }
- before main
- in main
- after main
- 关于GCC的__attribute__ ((constructor))
- 关于GCC的__attribute__ ((constructor))
- 关于GCC的__attribute__(constructor)
- 关于GCC的__attribute__ ((constructor))
- 关于GCC的__attribute__(constructor)
- GCC的__attribute__ ((constructor))和__attribute__ ((destructor))
- gcc的__attribute__ ((constructor))和__attribute__ ((destructor))
- GCC的__attribute__ ((constructor))和__attribute__ ((destructor))
- GCC __attribute__((constructor)|(destructor))
- Gcc扩展:__attribute__((constructor))
- GCC __attribute__((constructor)|(destructor))
- GCC __attribute__((constructor)|(destructor))
- GCC __attribute__((constructor)|(destructor))
- gcc下__attribute__ ((constructor))和__attribute__ ((destructor))的使用
- gcc下__attribute__ ((constructor))和__attribute__ ((destructor))的使用
- GCC中 __attribute__((constructor)|(destructor))
- gcc __attribute__关键字举例之constructor/destructor
- __attribute__((constructor)) 高版本gcc不执行
- 经典智力题【4】海盗分金子问题的改进版
- [Drools]JAVA规则引擎2 -- Drools实例
- 经典智力题【5】排列组合题
- IOS之UITableView cell自定义视图中插入Tableview
- 云存储——Wuala
- 关于GCC的__attribute__(constructor)
- linux c++线程池的实现
- 如何获得系统版本
- 自己写的解析FTP地址下协议,用户名,密码,路径的代码。。。体力活
- SharePoint Wiki Page 编辑内容保存时报错:you must specify a value for this required field
- 【ThreadLocal模式】线程上的全局变量
- linux下C实现线程池的源代码
- 清除UITableView底部多余的分割线
- 翻译】Building on Horizon