首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C .lib文件平台是特定的吗?

C .lib文件平台是特定的吗?
EN

Stack Overflow用户
提问于 2010-06-26 02:05:10
回答 2查看 768关注 0票数 4

我正在尝试为嵌入式系统上的专有接口设备(飞思卡尔HCS08)使用API,所提供的文件包括头文件(.h)和库文件(.lib)。头文件与我的其余代码(标准C)编译得很好,但当尝试链接到库时,我得到内存错误,指出文件可能已损坏。

我对C语言中的库的理解有些有限,因为我几乎只在嵌入式系统上工作,那里不存在像stdio、文件和dll这样神奇的东西;但是这个(或任何)库会是特定于平台的吗?它是否包含完整(如果有任何级别的话)编译过的代码?提供的其他一些文件是VS项目文件,所以如果.lib是特定于平台的,那么将用于x86-Windows8位编译器的文件链接到8位编译器会失败也就不足为奇了;可能只有我一个人会失败。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-26 02:07:01

.lib文件不仅是特定于CPU的(没有办法将HCS08代码链接到x86代码),它还是特定于工具链的(CodeWarrior不会与SDCC对话,GCC/binutils不会与Visual Studio对话)。

票数 9
EN

Stack Overflow用户

发布于 2010-06-26 02:07:39

是的,.lib包含已编译的代码,因此它是特定于平台的。如果你有源代码,你应该能够把它重新编译到你的平台上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3120308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档