在开发一个裸机程序时,有多个点c的文件,在做编译链接时,怎么链接

在开发一个裸机程序时,有多个点c的文件,在做编译链接时,怎么链接,第1张

一个工程就是就是一个氏明简C程序,工程虽然可以包含多槐轮个程序文件,但不可以编译多个C程序。编译器是在编译阶段歼裤分别编译工程内的多个文件,最后将编译各个文件得到的多个obj目标文件链接到一起成为一个可执行程序。因此无论这个工程包含多少源代码文件,只有一个文件可以定义main函数。

最凯码神好把头文件与so一起打包,当然你知道里面接口的定模碧义的话头文件也不需要

linux版本太多(redhat,centos,ubuntu,solaris.....),各个版本之间有差异别的电脑相同版本的linux系统的话盯亏应该能用,如果系统不一样不行

它们的具体区别并不算太大,只是链接后的不同,具体区别如下:

o:是编译的中间目标文件将多个中间目标文件,可以链接成可执行文件。

so:文件表示动态链接库。

a:代表的逗竖带是静态函数库,当纤铅同时运行多个程序并且都使用到同一个函数库的函数时,内存中就会有同一函数的多份副本,会消耗大量宝贵的内存。

lo:使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息。

la:使用libtool编译出的库文件,其实是个文本文件,记录同名动态山芦库和静态库的相关信息


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12127724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存