2

我想将我的 C 函数创建为库,并且我想对每个人隐藏我的代码

我希望每个人在调试时都看不到 C/Assemble 代码。

所以我使用 IAR 创建一个 C 库文件并设置Project → Option如下

  • 通用选项→输出→输出文件:
  • 常规选项 → 库配置 → 库:
  • C/C++ 编译器 → 输出:[未选中] 生成调试信息
  • 汇编器→输出:[未选中]生成调试信息

之后,我使用我创建的库并尝试调试。我可以将我的库视为汇编代码,但我不想要它。

那么我该如何隐藏它。

例子:

我创建了一个示例函数

图书馆计划

#include "mylib.h"
#include "stdint.h"

int64_t my_add(int64_t a, int64_t b)
{
  return a+b;    
}

申请项目

add_result = my_add(10, 20);  /* I debug at this line */

代码运行到调试点后,我按 F11(步入)。Debug 能够跳转到我的库代码,如下图所示。 调试能够将我的代码视为汇编

4

1 回答 1

0

您应该能够从输出文件中删除所有符号。您需要询问 IAR 如何执行此操作。那么“ my_add ”和“ my_sub ”就不会出现了。调试器将读取二进制代码并根据所使用的体系结构转换为汇编器,因此您当然无法摆脱这一点。

于 2016-12-06T08:25:04.873 回答