我正在构建自己的库,它应该可以在arm mbed和linux平台上运行。如果目标是ARM mbed,那么库需要与arm-none-eabi-gcc
交叉编译,而如果目标平台是linux,则需要使用gcc
编译库。是否有预定义的编译器宏,允许我确定调用哪个编译器来编译库?请注意,Raspberry Pi当中
还需要支持ARM CPU,因此我不能使用任何arch宏。
答案 0 :(得分:0)
根据评论和此链接https://gcc.gnu.org/onlinedocs/cpp/System-specific-Predefined-Macros.html#System-specific-Predefined-Macros的建议,宏__unix__
将由gcc
定义,但不会由arm-none-eabi-gcc
定义。如果有人有更好的答案,请发布。
答案 1 :(得分:0)
根据ARM Compiler Toolchain Reference,宏__arm__
始终是为ARM编译器arm-none-eabi-gcc
定义的。