在Arduino IDE中链接预构建对象

Linking prebuilt object in Arduino IDE

本文关键字:构建 对象 链接 Arduino IDE      更新时间:2023-10-16

我正在尝试编译一个arduino程序。

我想有一些文件已经编译,除了草图的一切。我已经修改了arduino IDE来编译未编译的文件,但我需要所有文件的。h文件。

是否有可能在CPP中编译具有。o和没有。h的其他文件?

我不想让任何人看到我的文件或代码,包括。h.

如果可能的话,我将开始检查arduino代码寻找如何修改它,但如果不是,我将不得不寻找另一种方法来做。

Arduino使用c++,编译后的c++函数名被修改为包含object(.o)文件中的参数类型。要让用户代码编译成兼容的名称混淆,唯一的方法就是在编译时使用完整的函数声明。

因此,您必须至少提供一个头文件,其中包含用户将调用的所有函数的完整函数声明。这不能是秘密,这是你的API,如果你不告诉他们,用户就不能使用它。

不需要在公共头文件中包含内部私有函数或数据类型的声明或定义。

因此,创建一个library_public.h文件,其中只包含用户应该知道的声明,并将其提供给您的.o文件。然后创建一个包含所有秘密内容的library_private.h