gpt4 book ai didi

c - 将 C SW 模块作为源代码与库提供

转载 作者:行者123 更新时间:2023-11-30 14:46:07 27 4
gpt4 key购买 nike

我正在使用 C 语言进行嵌入式编程(即目标是微 Controller ),并且我可以将我的软件模块作为目标代码(库)提供,供客户团队使用。

通常我习惯以源代码的形式提供我的软件,我知道如何集成(编译、链接源代码)的限制,但我不知道客户端的 obj(库)代码集成有哪些限制。

例如: - 是否必须使用与我的相同的编译器? - 一旦客户更改编译器选项、链接器选项等,是否每次都必须为客户重新生成该库...

预先感谢您的回答。

西莫

最佳答案

答案很大程度上取决于目标支持。您可能必须为以下所有组合提供库:

  • 指令集,
  • 字节顺序,
  • FPU 支持,
  • 调试支持,
  • 核心变体

可能还有更多。例如,我使用的一个针对 ARM Cortex-M3、4 和 7 的特定 RTOS 会生成大约 20 个变体。

显而易见的方法是使用一个构建系统,该系统将在单个构建中生成所有所需的组合。

编译器之间的目标代码兼容性绝不是给定的,因此您可能还必须为多个编译器进行构建,这反过来可能需要许可证为每一个。这可能会很昂贵,并且在大多数情况下,不允许对您分发的代码使用试用版或评估版。

另一种选择可能是使用源代码混淆器,它会使您的代码几乎不可读,并且很难修改或逆向工程,同时允许您的客户针对其特定目标和所需的编译器/链接器设置进行编译。

关于c - 将 C SW 模块作为源代码与库提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com