当我使用GNU C Library提供的非标准函数时,Clang可以警告我吗?

当我使用GNU C Library提供的非标准函数时,Clang可以警告我吗?,第1张

概述我正在OS X上编写一个C程序并用clang编译它.我是C的新手,我已经明白像 getline()这样的功能很有用但非标准.我希望能够在GNU C库不可用的系统上编译程序.我不知道究竟哪些函数是非标准的,我希望有一个命令行开关让clang在我使用这些函数时警告我.在那儿? clang –version的输出: Apple LLVM version 5.1 (clang-503.0.40) 您可以使 我正在OS X上编写一个C程序并用clang编译它.我是C的新手,我已经明白像 getline()这样的功能很有用但非标准.我希望能够在GNU C库不可用的系统上编译程序.我不知道究竟哪些函数是非标准的,我希望有一个命令行开关让clang在我使用这些函数时警告我.在那儿?

clang –version的输出:

Apple LLVM version 5.1 (clang-503.0.40)

解决方法 您可以使用 feature test macros(另请参阅: XSH 2.2.1 POSIX.1 Symbols)来请求仅查看特定的一组标准接口.特别是,

-D_XOPEN_SOURCE=600

在命令行或

#define _XOPEN_SOURCE 600

应该为过时的2001版POSIX(最新的OSX支持)公开POSIX base和XSI选项.如果你只想要没有XSI的基础,那么将_POSIX_C_SOURCE定义为200112L.

总结

以上是内存溢出为你收集整理的当我使用GNU C Library提供的非标准函数时,Clang可以警告我吗?全部内容,希望文章能够帮你解决当我使用GNU C Library提供的非标准函数时,Clang可以警告我吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存