繁体   English   中英

如何使用clang在OS X上使用c11标准库进行编译?

[英]How to compile with c11 standard library on OS X with clang?

嘿,我正在尝试使用clang编译使用OS X上c11标准库中函数的c代码。

编译器选项-std=c11允许我使用c11语言功能。 但是,当我使用诸如at_quick_exit类的新函数时,我得到以下警告implicit declaration of function 'at_quick_exit' is invalid in C99

源代码包含以下行#include <stdlib.h>铛选项-stdlib没有帮助。

我的系统:

OS X优胜美地10.10.3

$ clang -v
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix

Ubuntu 14.04 LTS

$ clang -v
Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)
Target: x86_64-pc-linux-gnu 
Thread model: posix

更明确地说。 如何在OS X上获得c11标准库?

感谢您的任何帮助。

通常,仅自托管系统编译器无法提供完整的Standard C环境,包括运行时库。 通常,底层系统提供大多数(如果不是全部)库(和标头),而编译器仅进行编译。

因此,如果需要给定系统上未提供的某些特定功能,则必须自己编写它们,或从与目标系统兼容的某些可移植库中获取它们。

在这种特殊情况下,您可能还会发现quick_exit()本身不是系统的libc提供的,因此应该很容易自己编写两个函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM