首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OS上用clang编译c11标准库?

问如何在OS上用clang编译c11标准库?
EN

Stack Overflow用户
提问于 2015-05-23 10:09:46
回答 1查看 2K关注 0票数 2

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

编译器选项-std=c11允许我使用c11语言特性。但是当我使用像at_quick_exit这样的新函数时,我得到了下面的警告implicit declaration of function 'at_quick_exit' is invalid in C99。

源代码中有下面这一行,clang选项#include <stdlib.h> -stdlib没有帮助。

我的系统:

OS X Yosemite 10.10.3

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
$ 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标准库?

谢谢你的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-05-23 10:38:54

通常,自托管系统编译器本身并不能提供完整的标准C环境,包括运行时库。通常,底层系统提供大部分(如果不是全部)库(和头文件),而编译器只是编译。

因此,如果您需要一些给定系统上没有提供的特定函数,那么您必须自己编写它们,或者从与您的目标系统兼容的某个可移植库中获取它们。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30408197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档