有没有办法在编译时检测函数是否内置在编译器上? 例如,像这样:
#ifndef ITOA_FUNCTION
#define itoa myitoaimplementation
#endif
提前致谢。
最佳答案
不,没有什么直接的。您能做的最好的事情就是根据平台、编译器版本等进行猜测。
在大多数情况下,我更喜欢其他两条路线之一。一种是为您自己的实现指定一个与编译器使用的名称不同的名称,并且无论编译器是否提供类似的名称,都始终使用它。
第二种是将这样的函数的实现放入一个单独的文件中,并处理 makefile 中存在/不存在的情况,仅决定是否将该文件包含在项目中。
关于c - 如何检查该函数在编译器上是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279388/