加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:52:25 所属栏目:百科 来源:网络整理
导读:我正在OS X上编写一个C程序并用clang编译它.我是C的新手,我已经明白像 getline() 这样的功能很有用但非标准.我希望能够在GNU C库不可用的系统上编译程序.我不知道究竟哪些函数是非标准的,我希望有一个命令行开关让clang在我使用这些函数时警告我.在那儿? cl
我正在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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读