我在纯 C - st usb 库中有一个项目,我需要将其迁移到 c++ 并将相同的结构更改为类。我删除了所有 C++“保护”,例如:
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
我将所有文件扩展名从更改.c
为.cpp
(HAL 库除外)。我意识到 c++.hex
比 c 小 7kB .hex
。当我查看.map
文件时,我发现许多功能都丢失了。我认为static
功能导致了这种情况,但删除static
关键字并没有帮助。有谁知道可能导致某些函数未编译的原因。当扩展是.c
一切都很好。