c - C .lib 文件平台特定吗?

标签 c platform-specific

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

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

最佳答案

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

关于c - C .lib 文件平台特定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120308/

相关文章:

c++ - 发送和接收采样缓冲区后,如何测量带衰减的嘈杂延迟线的延迟?

我可以在 xcode 上安装 gtk 吗?

c - 使用 void 指针的通用复制

haskell - 如何在 Haskell (ghc) 中编写与平台无关的代码

c++ - node-gyp 平台特定插件

java - 多个 Java 线程以及跨多个内核的线程分布控制

.net-maui - .NET MAUI 中的部分平台特定方法

c - 开放CV!如何捕捉视频?

c - C 中变量的括号标识符

c++ - 用于在 C++ 中管理平台特定代码的内联命名空间技术