C代码过于依赖于编译器

Tal*_* A. 4 c compiler-construction posix

我正在编写一个应该在各种SoC上运行的操作系统(例如:Xilinx Zync,Freescale QorIQ).我的问题,并非所有提供的IDE(由Xilinx,Freescale等提供)都提供相同的库(标准C和POSIX库).例如,CodeWarrior IDE具有timespec结构,而Xilinx则没有.此外,sleep在一些提供的库中实现,但我有自己的实现.

我希望我的代码独立于编译器(一些制造商提供多个IDE和不同的编译器).

有什么建议?

Jon*_*art 8

我的建议:代码到POSIX标准.如果供应商库缺少POSIX,请自行实现POSIX层.

保持核心操作系统通常是#ifdef免费的,并将混乱放在有条件编译的兼容性层中.