当前位置: 技术问答>linux和unix
gcc编译的函数可不可以确定编译后的函数在文件中的顺序
来源: 互联网 发布时间:2016-04-14
本文导语: gcc编译的函数可不可以确定编译后的函数在文件中的顺序 比如,希望编译后的可执行文件中的fun1()函数在fun2()前,有没有什么办法。非常感谢 | 可以,说说我的想法,但是我没有实践过! 你...
gcc编译的函数可不可以确定编译后的函数在文件中的顺序
比如,希望编译后的可执行文件中的fun1()函数在fun2()前,有没有什么办法。非常感谢
比如,希望编译后的可执行文件中的fun1()函数在fun2()前,有没有什么办法。非常感谢
|
可以,说说我的想法,但是我没有实践过!
你自己定义两个section: section1 section2!
然后在程序代码中,将func1指定到secion1中,将func2指定到section2中!
然后自己编写link script!在link scipt中,将section1 放到section2前面即可!
其实在linux 内核中,__initcall就用到了上述方法!
good luck!
你自己定义两个section: section1 section2!
然后在程序代码中,将func1指定到secion1中,将func2指定到section2中!
然后自己编写link script!在link scipt中,将section1 放到section2前面即可!
其实在linux 内核中,__initcall就用到了上述方法!
good luck!
|
使用__attribute__ (section)来设置函数存放的栈,这个比较麻烦,除了这个我也不知道有啥子好方法
|
编译的时候对函数名字处理了,在符号表里。
调用函数, 1 函数名,2 函数指针,
前置声明可以不?
调用函数, 1 函数名,2 函数指针,
前置声明可以不?