什么是更好的主意:编写C11或C99中其他人使用的库?许多人在CES项目中使用C99而不是C11是不是很合理?或者它不是真的吗?什么对微控制器更好?我不专业,我想有充分的借口不使用通用C11:P谢谢你的帮助。我希望它不是“傻乎乎的”#39;问题
答案 0 :(得分:6)
对你写的图书馆要保守。您假设的功能越少,人们就可以使用您的库。许多库都经过精心编写,只能承担ANSI C,因此可以在各种硬件上使用。这尤其适用于编译器经常过时且不符合标准的嵌入式系统。保守你的所作所为,要接受自由。
答案 1 :(得分:0)
对于嵌入式开发,我建议您仅使用C89兼容功能,因为看到微控制器附带旧的开发工具并不常见,甚至与C99不兼容。
对于Windows开发,Visual Studio的最新版本将支持大多数C99和其他编译器,但是旧版本的Visual Studio众所周知是不兼容的,因此您应该确定您的库是否针对困在旧环境中的程序员。
对于linux或MaxOS,C99应该没问题。我怀疑你真的需要C11特定的东西,假设你的用户都拥有符合C11的编译器/库组合可能会有风险。
你只询问C99和C11,但你确定你甚至需要C99吗?只使用C89(又名 ANSI C ),只要不使用过时的功能,仍应使用C99和C11正确编译。