求大佬解答
c吧
全部回复
仅看楼主
level 3
一团布偶♬
楼主
最近在看《链接,装载与库》这本书,上面提到了静态链接,我想问下,静态链接是为了能在其他.o文件中找到要调用的函数的实现,那么我如果在源文件中直接include .c文件而不是头文件,是不是就不需要链接其他文件就能运行了呢
2023年04月05日 09点04分
1
level 3
一团布偶♬
楼主
2023年04月05日 09点04分
3
level 6
Waaaaf
#include宏无条件地将目标文件内容复制到当前位置,仅此而已。
2023年04月05日 10点04分
4
level 5
钱欢银
是的,这和复制源码参与编译没区别
2023年04月05日 18点04分
5
level 1
酱紫嘛《苏a》
1
2023年04月06日 05点04分
13
level 9
阳光😁😁😁😁
.o里面有符号呢,你要是这么包含,符号一样就冲突了
2023年06月08日 12点06分
17
level 9
阳光😁😁😁😁
静态链接是把代码整合到你的可执行文件中,动态链接只给了偏移地址。像是动态库的代码段,多个进程是可以共享的
2023年06月08日 12点06分
18
level 6
起个名字😂😂
是的,1是还需要重新编译,用到大量的库会用很多时间,并且使用别人的库直接导入文件会有用不到的代码也会浪费空间(这可以去依赖ide的优化),2是不能在不同语言中调用,打包成库可以让其他语言调用
2023年06月13日 15点06分
19
1