当前位置: 技术问答>linux和unix
C库 是什么时候链接的?
来源: 互联网 发布时间:2016-10-12
本文导语: linux下,例ubuntu 当写了一个hello.c 其中至少#include 但编译命令就是简单的 gcc -o hello hello.c 哪, C语言的库, 这些include 的头文件是有源代码的,所以cpp预编译的时候,能够包含相关的头文件进来。 当ld链接的...
linux下,例ubuntu
当写了一个hello.c
其中至少#include
但编译命令就是简单的 gcc -o hello hello.c
哪,
C语言的库,
这些include 的头文件是有源代码的,所以cpp预编译的时候,能够包含相关的头文件进来。
当ld链接的时候,肯定是链接了这个C语言库,
可是,编译命令中没有写链接哪个库呀?
是默认写在哪里了么?
求解。
当写了一个hello.c
其中至少#include
但编译命令就是简单的 gcc -o hello hello.c
哪,
C语言的库,
这些include 的头文件是有源代码的,所以cpp预编译的时候,能够包含相关的头文件进来。
当ld链接的时候,肯定是链接了这个C语言库,
可是,编译命令中没有写链接哪个库呀?
是默认写在哪里了么?
求解。
|
Linux下,默认链接的是/lib,/usr/lib,/usr/local/lib下的,你也可以把自定义的目录加到/etc/ld.so.conf中
|
libc.a
gcc默认会链接这个库
gcc默认会链接这个库
|
个人觉得是默认已经有这个链接了。
就像在linux下可以直接使用linux或unix这些宏一样。——当然,这些是由CPP处理。
正在看linker and loader那本书的路过。
就像在linux下可以直接使用linux或unix这些宏一样。——当然,这些是由CPP处理。
正在看linker and loader那本书的路过。
|
即使没有-lc,gcc也会自动把libc.a或者libc.so链接上,printf、strlen这些最常用的函数都在这里面。
GCC的源码中,直接做进去了??? 就是这样的。
GCC的源码中,直接做进去了??? 就是这样的。