【发布时间】:2017-01-17 06:29:37
【问题描述】:
我用gcc -c -nostdlib -fno-stack-protector <my code> -o <my cobj> 编译我的c 代码,我想使用std 库函数,如sprintf strcmp 等等。那么如何将我的cobj 文件与std @ 链接起来987654327@静态库?
我的Makefile链接脚本是ld -T $@.ld -o $@.o $^ -L.. -llib --no-check-sections
ps:我使用-nostdlib 选项进行编译,因为我不想要std 库的crt 部分,但我想使用与平台无关的函数,例如sprintf,strcmp,@ 987654335@,va_list等
【问题讨论】:
-
这没有意义。为什么说gcc不要链接stdlib,然后问怎么链接stdlib?
-
@Stargateur 因为我不想要 stdlib 的
crt部分 -
为什么不想要 c 运行时库?看起来像一个 XY 问题。
-
您可以随时获取所需功能的源代码,并构建自己的静态库。
-
将
-lgcc(也可能是-lc)添加到您的链接脚本中。