【发布时间】:2023-04-01 04:56:01
【问题描述】:
嘿,我正在尝试用 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 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 标准库?
感谢您的任何帮助。
【问题讨论】:
-
调用 at_quick_exit 函数的源代码是否也有这行:#include
? -
其他 stackoverflow 问题的答案表明 'quick_exit()' 未在 OSX 中实现。我的系统 ubuntu 14.04 没有“quick_exit()”和“at_quick_exit()”!这两个都是系统级功能。建议使用 'exit()' 和 'atexit()' 来实现相同的功能。