17

clang++ でスタックサイズを指定できますか? これを可能にするコンパイラ オプションが見つかりません。OS Xを使用しています。

注: この質問は、GCC コンパイラではなく、特に Clang に関するものです。

4

1 に答える 1

23

コンパイラではなくリンカが、メイン スレッドのスタック サイズの設定を担当します。のマニュアル ページにldは、次の内容が含まれています。

-stack_size size
    Specifies the maximum stack size for the main thread in a program. Without this
    option a program has a 8MB stack. The argument size is a hexadecimal number with
    an optional leading 0x. The size should be an even multiple of 4KB, that is the
    last three hexadecimal digits should be zero.

たとえば、16MB のスタックを指定するには、次のようにします。

mrowe@apollo:~$ cc -Wl,-stack_size -Wl,0x1000000 -o test test.m
mrowe@apollo:~$ otool -lV test | grep stack
 stacksize 16777216

-Wl,渡された引数のプレフィックスに注意してcc、それらをリンカーに渡します。

于 2013-09-20T08:46:48.443 に答える