c - 如何检查该函数在编译器上是否可用?

标签 c compiler-directives

有没有办法在编译时检测函数是否内置在编译器上? 例如,像这样:

#ifndef ITOA_FUNCTION
#define itoa myitoaimplementation
#endif

提前致谢。

最佳答案

不,没有什么直接的。您能做的最好的事情就是根据平台、编译器版本等进行猜测。

在大多数情况下,我更喜欢其他两条路线之一。一种是为您自己的实现指定一个与编译器使用的名称不同的名称,并且无论编译器是否提供类似的名称,都始终使用它。

第二种是将这样的函数的实现放入一个单独的文件中,并处理 makefile 中存在/不存在的情况,仅决定是否将该文件包含在项目中。

关于c - 如何检查该函数在编译器上是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279388/

相关文章:

c - 提取文件 C 中字母之间的数字

delphi - 如何在编译时判断项目是程序还是库?

debugging - 使用 -compile 在 Erlang 模块中请求 debug_info

用于调试与发布的 C# if/then 指令

我可以在 C 中使用类型转换来获取指向地址的指针的内存大小吗?

C 预处理器 #if 处理非整数常量

debugging - Scala:代码仅在调试时运行(等效于#ifdef?)

c - MPI编程中如何随机选择主处理器?

c - 如何通过查看可执行警告消息找到源函数调用?