中易网

gcc使用stdio.h时为什么不需要-l指定选项

答案:2  悬赏:30  
解决时间 2021-01-15 16:23
  • 提问者网友:niaiwoma
  • 2021-01-15 10:33
gcc使用stdio.h时为什么不需要-l指定选项
最佳答案
  • 二级知识专家网友:北城痞子
  • 2021-01-15 11:25
我也一直在纠结这个问题,也没找到很准确的回答,看了不少回答,大部分是gcc默认动态链接了一个库,在linux下是
libc.so名字差不多是这个样,但在windows不是这个,我的理解是,这个库的细节需要操作系统去实现,所以不同的系统需要链接的库可能不同,但都是默认链接所以不用在gcc后加参数,期待更准确的回答!!
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-01-15 12:47
stdio.h标准库不需要
追问:是编译器自动把标准库文件都链接进去了吗?
追答:linux 系统默认库都不需要加-L了,环境变量里面已经设置好路径。系统头文件/usr/include
库 /usr/lib
追问:你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?你的意思是编译器会通过包含的stdio.h找到对应的动态链接库吗?(出来好多,手机卡了)
追答:在链接的时候系统会默认链接一些库forexample(libc),你可以用 -v看下编译链接过程. 其实也是-lc -lgcc.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息