我正在尝试手动执行我的程序的所有编译步骤。 在我使用链接器命令ld的最后一个步骤中,我需要指定库的对象文件(stdio,因为我已经在我的代码中使用了printf),那么只有make和.exe文件。 这个目标文件驻留在哪里?
我怎样才能find一个全局variables的析构函数调用使用gdb?
如何彻底销毁C中的套接字连接
如何保证一些代码被执行,当进程退出或被杀死在c + +?
设备创build期间的DirectX 11 E_INVALIDARG
在同一端口发送和接收udp数据包
我建议你运行gcc -v your_file.c 。 这将让你看到你的链接器正在使用什么命令。 你可能没有stdio.o文件来链接。 相反,它包含在C运行时库中,确切的文件将取决于您的系统配置。
stdio是C标准库的一部分。 标准库的确切位置是系统特定的,但它通常位于一个名为libc.a或libc.so的文件中。
在我的机器中可以找到:
/usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/libc.so
您可以要求ld搜索目录: ld --verbose | grep SEARCH_DIR ld --verbose | grep SEARCH_DIR 。
libc.a是一个ar ( man )压缩文件,您可以使用ar命令从libc.a压缩文件中提取stdio.o :
$ # @R_404_6818@ archive member with `ar t` $ ar t /usr/lib/x86_64-linux-gnu/libc.a | grep ^stdio stdio.o $ # extract stdio.o with `ar x` $ ar x /usr/lib/x86_64-linux-gnu/libc.a stdio.o
它可能是根源
类似于/usr/lib或/usr/lib***
总结以上是内存溢出为你收集整理的stdio.o在linux机器上居住在哪里?全部内容,希望文章能够帮你解决stdio.o在linux机器上居住在哪里?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)