Fedora Core 7では、私はARG_MAX
に依存するコードを書いています。ただし、I #include <limits.h>
であっても、定数はまだ定義されていません。私の調査では、それが<sys/linux/limits.h>
に存在することが示されていますが、これはWin32/Mac/Linuxで移植可能であると考えられています。何が起きてる?limits.hでARG_MAXが定義されていないのはなぜですか?
7
A
答えて
8
limits.hにない理由は、現在のアーキテクチャのビット幅に基づいて整数型の値の範囲の制限を与える量ではないということです。これはISO標準によってlimits.hに割り当てられた役割です。
あなたが興味を持っている値は実際にはハードウェアではなく、プラットフォームによって異なる場合があります。システムビルドからシステムビルドまで多岐にわたります。
正しいことは、sysconf
に電話し、 "ARG_MAX"または "_POSIX_ARG_MAX"を求めることです。とにかく私はだと思う。これはPOSIX準拠のソリューションだ。
Acc。私のドキュメントには、あなたが要求している値に基づいてunistd.hまたはlimits.hのいずれかまたは両方が含まれています。
他の1点:関数のexecファミリの多くの実装では、特大の環境でそれらを呼び出そうとすると、E2BIGまたは同様の値が返されます。これはexecが実際に返すことができる定義済みの条件の1つです。
-2
ARG_MAXは/usr/include/linux/limits.hで定義されています。私のLinuxカーネルのバージョンは3.2.0-38です。
関連する問題
- 1. なぜContentChildが定義されていないのですか?
- 2. なぜコードバが定義されていないのですか?
- 3. なぜauth2が定義されていないのですか?
- 4. なぜpdoが定義されていないのですか?
- 5. はなぜ定義されていないのですか?
- 6. 角度が定義されていない、なぜですか?
- 7. C#sizeof(定数)が定義されていないのはなぜですか
- 8. アプリケーションで「url_for」が定義されていないのはなぜですか?
- 9. ElectronでcrashReporterが定義されていないのはなぜですか?
- 10. scikit-learnで `model.fit`が定義されていないのはなぜですか?
- 11. $ scope.logoがコントローラで定義されていないのはなぜですか?
- 12. ControlItemでSubItemsが定義されていないのはなぜですか?
- 13. ReactJSコードでthis.propsが定義されていないのはなぜですか?
- 14. 変数がディレクティブコントローラで定義されていないのはなぜですか?
- 15. コントローラで変数が定義されていないのはなぜですか?
- 16. ライブサーバでmysqli_fetch_all()が定義されていないのはなぜですか?
- 17. helloworldプログラムでReactDOMが定義されていないのはなぜですか?
- 18. JavaScript関数 "a"が定義されていないのはなぜですか?
- 19. @classmethod変数が "定義されていない"のはなぜですか?
- 20. PageMethodsオブジェクトが定義されていないのはなぜですか?
- 21. chrome.browserAction.onClickedが定義されていないのはなぜですか?
- 22. SRWLockが定義されていないのはなぜですか?
- 23. ReactReduxが定義されていないのはなぜですか?
- 24. 関数名が定義されていないのはなぜですか?
- 25. LookupsClientが定義されていないのはなぜですか?
- 26. オブジェクトが定義されていないのはなぜですか?
- 27. なぜ私はReferenceError:_variableが定義されていないのですか?
- 28. 配列が定義されていないのはなぜですか?
- 29. "total"変数が定義されていないのはなぜですか?
- 30. コールバック関数が定義されていないのはなぜですか?