7
我最近收到一個使用__DARWIN_C_LEVEL
的補丁。我認爲提供它的人使用OS X 10.10。什麼是__DARWIN_C_LEVEL C預處理符號?
我有用於測試的OS 10.9,10.8和10.5,但沒有一個似乎定義它。
10.5:
$ uname -a
Darwin PowerMac.home.pvt 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:57:01 PDT 2009;
root:xnu-1228.15.4~1/RELEASE_PPC Power Macintosh
$ cpp -dM < /dev/null | grep -i darwin
$
10.8:
$ uname -a
Darwin riemann.home.pvt 12.6.0 Darwin Kernel Version 12.6.0: Wed Mar 18 16:23:48 PDT 2015;
root:xnu-2050.48.19~1/RELEASE_X86_64 x86_64
$ cpp -dM </dev/null | grep -i darwin
$
有很多的點擊它,但它無論是蘋果的源代碼或某人的修補裂口。授予,"__DARWIN_C_LEVEL" site:opensource.apple.com。
蘋果使用它像這樣,但它不是我清楚他們正在努力實現:
#if __DARWIN_C_LEVEL > __DARWIN_C_ANSI
#define _POSIX_ARG_MAX 4096
#define _POSIX_CHILD_MAX 25
...
#endif
什麼是__DARWIN_C_LEVEL
,以及應該怎樣使用?
這個問題不是最好在鏈接網站上提問嗎? – Olaf
也許使用ansi C或C89或C99或C11的區別? –
看看/usr/include/sys/cdefs.h的第582行 –