风言枫语  

1.cpp:------------------------------------------------
#include

int test() __attribute__ ((constructor(101)));

int test()
{
printf("\n--In lib--");
return 0;
}

test.cpp //没有call 1.cpp中方法,但是希望在main前面先执行test()函数
#include

int main()
{
printf("\n---In main--");
return 0;
}


g++ -c 1.cpp //生成1.o
ar -rcs libanti.a 1.o //生成.a库
g++ test.cpp -Wl,--whole-archive libanti.a -Wl,--no-whole-archive -o main //libanti.a必须全名,不能用-lanti,否则不成功

 

posted on 2013-09-05 18:28  风言枫语  阅读(570)  评论(0编辑  收藏  举报