2011-08-17 28 views
12

POSIXライクなシステムでは、コマンドライン引数の最大長はありますか?** argvパラメータの最大長

明確にするために、私はのそれぞれの最大長を探しています。引数の最大数ではなく、それぞれの引数です。

+0

_POSIX_ARG_MAXを?? –

+0

私はそのプラットフォーム固有のものと思われます。多くのデータがある場合は、stdinを通じてプログラムにデータを渡すことができます。 –

+0

いいえ、_POXIX_ARG_MAXは、すべての引数の最大長です。 –

答えて

7

POSIXでは、各引数の最大長は定義されていません。

MAX_ARG_STRLENは、Linux固有の定数which was introduced in the 2.6.25 kernelです。

カーネル2.6.25では、MAX_ARG_STRLENは、131072 bytes = 32 pages of memoryと定義されています。

(。。私はCONFIG_HUGETLB_PAGEが有効になっていない限り、私はCONFIG_HUGETLB_PAGEMAX_ARG_STRLENどのように影響するかわからない場合である4Kのページサイズを、と仮定している)

も参照してください:http://manpages.ubuntu.com/manpages/lucid/man2/execve.2.html

+0

GJはそれを研究しています:-) – cnicutar

+0

cnicutar、申し訳ありません私の元の質問は不明であり、回答に感謝しています。あなたの答えは私の研究を助けました。 –