当前位置: 技术问答>linux和unix
太奇怪了,正在开发bootloader,gcc难道有内置的string的处理函数链接到我的程序中了?我根本没有链接C库啊。
来源: 互联网 发布时间:2016-02-22
本文导语: 太奇怪了,正在开发bootloader,gcc难道有内置的string的处理函数链接到我的程序中了?我根本没有链接C库啊。 我在我的程序中能够无障碍的调用strcpy,strlen,等函数,根本不需要我自己写,我也没有include 或者 include 的...
太奇怪了,正在开发bootloader,gcc难道有内置的string的处理函数链接到我的程序中了?我根本没有链接C库啊。
我在我的程序中能够无障碍的调用strcpy,strlen,等函数,根本不需要我自己写,我也没有include 或者 include 的函数。我是用脚本自己链接.o文件成为一个非elf的bin文件的,系统还只是裸机状态,没有进入任何OS
也不可能链接到任何libc.so文件,太奇怪了。
我在我的程序中能够无障碍的调用strcpy,strlen,等函数,根本不需要我自己写,我也没有include 或者 include 的函数。我是用脚本自己链接.o文件成为一个非elf的bin文件的,系统还只是裸机状态,没有进入任何OS
也不可能链接到任何libc.so文件,太奇怪了。
|
mark
|
这到是怪事
能否把代码贴来看看?
能否把代码贴来看看?
|
有没有用库,可以ldd *.o文件
bootloader字符处理函数可都是自带的
bootloader字符处理函数可都是自带的
|
编译器默认可以自己找到stdlib吧
你看是否可以在编译选项里面让它不要自动找库
你看是否可以在编译选项里面让它不要自动找库
|
bootloader都会自已带很多常用的函数的,有源代码的
|
objdump看看,估计是链接了libc
|
楼上大哥,我真的没有自己写
===========================
这一句话我相信你说的是真的,你主要是对GCC参数了解得不够清楚,所以你就在不知不觉中使用了GCC编译工具链当中的库函数,你自己都没发觉而已,还是先回去仔细看一看GCC手册与LD手册吧.
===========================
这一句话我相信你说的是真的,你主要是对GCC参数了解得不够清楚,所以你就在不知不觉中使用了GCC编译工具链当中的库函数,你自己都没发觉而已,还是先回去仔细看一看GCC手册与LD手册吧.
|
检查一下是否加了-nostdlib 等参数,或者你直接用了gcc的静态库等,要不就把ld script贴出来看看。