包含文件、引用文件和库文件的区别

 我来答
npmdc09
2011-02-23 · TA获得超过742个赞
知道小有建树答主
回答量:600
采纳率:0%
帮助的人:0
展开全部
的本质区别,有一下几点:
a, 字节排序,一个int型的数据在windows里是由高地址存到低地址的4个字节的(假设是32位机器),但是在某些UNIX服务器,如AIX,它的排序方式就相反的,所以当程序被编译成低级语言(例如汇编)的时候,内存及CPU的处理就会截然相反
b, 字长,有些unix服务器是64位的,但大多WINDOWS是32位,那么定义一个整形的时候就有用8个字节和4个字节的区别,字长不一样,那么执行起来用对内存的使用也自然就不一样咯。
c,所谓的库,也是由编译器编译出来的,在不同的OS下,由同一个代码编译出来的库也会不一样。
d,编译器也各不相同,也会导致编译出程序不完全相同。
e,所谓的调用,也就是将程序和库一起打包,然后在找到库里面所定义的函数罢了

综上,当一个程序或者库要从其他OS搬到另一个不同规格的OS上的时候,一定要重新编译一下草能确保程序跑起来不发生错误,求其原因也就是因为OS的本质区别,兼容的话,其实就是看OS是否在规格上有没有本质区别

二,库文件的编译是单向的,所以无法取回源码,
.a库的打包例: ar r libabc.a a.o b.o c.o
将a.o b.o c.o 合并打包成libabc.a。注意哦(.a一定要以lib开始.a结束哦)
WIN下我不是很在行,你说的lib大包应该没错。

三,我不是很清楚

希望对你有帮助,我2年工作的精华
志远823
2011-02-22 · TA获得超过2296个赞
知道小有建树答主
回答量:913
采纳率:66%
帮助的人:1168万
展开全部
包含文件通常是说*.h文件.h文件包含了类申明,通常是描述接口的.
引用文件? C++里一般没有这样的提法.
库文件在C++里大致有以下的几种
*.lib 接口地址库文件,如果是静态库的话则还包含了实现二进制.
*.dll 动态链接库, 作为共享二进制加载到进程.通常每个dll都会对应一个同名lib
我认为他们的区别在于,包含文件是代码一级的,库文件则电脑才能看懂的二进制一级的.共同点则是他们都描述某个类或者模块的接口.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式