gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 03:38:29 25 4
gpt4 key购买 nike

嘿,我正在尝试使用 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>clang 选项 -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 长期支持版

$ 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 标准库?

感谢您的帮助。

最佳答案

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

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

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

关于c - 如何使用 clang 在 OS X 上使用 c11 标准库进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com