答えて
uname -i
はman uname
し、それに応じて非ポータブル..です正常に動作しますコンパイルすることができます。私の新しいDebianの8も
$ uname -i
unknown
uname
GNU coreutilsの一部であるとして、それを印刷し、それは非常に単純なプログラムです。 code on savannahが表示されます。あなたがそこにコマンドラインオプションを使用して見れば--hardware-platform
は-i
次のとおりです。今度は、デフォルトでは「不明」の印刷を行い、PRINT_HARDWARE_PLATFORM
198 while ((c = getopt_long (argc, argv, "asnrvmpio",
199 uname_long_options, NULL)) != -1)
200 {
201 switch (c)
202 {
...
227 case 'p':
228 toprint |= PRINT_PROCESSOR;
229 break;
230
231 case 'i':
232 toprint |= PRINT_HARDWARE_PLATFORM;
233 break;
定義の印刷を強制
88 static struct option const uname_long_options[] =
89 {
90 {"all", no_argument, NULL, 'a'},
...
97 {"machine", no_argument, NULL, 'm'},
98 {"processor", no_argument, NULL, 'p'},
99 {"hardware-platform", no_argument, NULL, 'i'},
100 {"operating-system", no_argument, NULL, 'o'},
101 {GETOPT_HELP_OPTION_DECL},
102 {GETOPT_VERSION_OPTION_DECL},
103 {NULL, 0, NULL, 0}
104 };
。
344 if (toprint & PRINT_HARDWARE_PLATFORM)
345 {
346 char const *element = unknown;
347 #if HAVE_SYSINFO && defined SI_PLATFORM
348 {
349 static char hardware_platform[257];
350 if (0 <= sysinfo (SI_PLATFORM,
351 hardware_platform, sizeof hardware_platform))
352 element = hardware_platform;
353 }
354 #endif
私は間違っていないよ場合は(私はあるかもしれない)HAVE_SYSINFO
はsys/systeminfo.h
にする必要があり、そのファイルは、arch
のデフォルトでは存在しません。それは必ずしもパッケージがコンパイルされたときにそこになかったということを意味しません。しかし、ほとんどの場合、パッケージャはHAVE_SYSINFO
パッケージを正しくコンパイルするのに気をつけなかったことを示しています。これは移植不可能なオプションであるため、受け入れ可能です。
gcc -v
についての私のコメントを参照してください、私のアーチがTarget: x86_64-pc-linux-gnu
にそれを正しく評価します。しかし、それはuname
とは関係がありません。uname
は、システムに関する情報を印刷するシステムコールを送信します。gcc
には、ターゲットがコンパイルされています。
注:uname
はcoreutils
の一部であることを言っては100%正しいではありません。 uname
はPOSIX規格の一部ですが、-i
(--hardware-platform
)のオプションはuname
で、この仕様には含まれていません。 -i
は、coreutils
パッケージ(hell、* BSDシステムは-i
を持っていますが、そこにはまったく別の意味があります)によってのみ実装されています。
ありがとう!...! – OsmanthusTree
- 1. フッタがこのように表示されるのはなぜですか
- 2. このエラーが表示されるのはなぜですか
- 3. このStackOverflowExceptionが表示されるのはなぜですか?
- 4. AUTH LOGINコマンドの後にDONEが表示されるのはなぜですか?
- 5. このイベントは、一部のクリックでのみ表示され、他の表示では表示されないように見えるのはなぜですか?
- 6. なぜランドスケープモードのキーボードがこのように表示されますか?
- 7. ドッカーマシンに空のリストが表示されるのはなぜですか?ここ
- 8. なぜこのHTTP_X_REQUESTED_WITHエラーが表示されるのですか?
- 9. fbのようなボタンが表示されないのはなぜですか?
- 10. なぜこのテキストが表示されないのですか?
- 11. このコマンドを実行すると、Windows Serverのドッカーボリュームが表示されないのはなぜですか?
- 12. なぜこのような暗いテキストが表示されますか?
- 13. なぜこのボタンは表示されないのですか
- 14. リップルエミュレータで私にこのエラーメッセージが表示されるのはなぜですか?
- 15. このクラスのバイトコードにClass.forNameが表示されるのはなぜですか?
- 16. Xcodeでこれらのエラーが表示されるのはなぜですか?
- 17. ボタンにこの概要が表示されるのはなぜですか? css
- 18. 計算にこのエラーが表示されるのはなぜですか?
- 19. スクロールバーにこのextjsコードが表示されないのはなぜですか?
- 20. このボタンにテキストが表示されないのはなぜですか?
- 21. vue.jsのアンドロイドウェブビューでこのエラーが表示されるのはなぜですか?
- 22. なぜsedコマンドラインに表示される "コマンド後の余分な文字"エラーが表示されますか?以下に示すよう
- 23. これらのエラーメッセージが表示されるのはなぜですか?
- 24. なぜモデルがドキュメントに示されているように表示されないのですか?
- 25. が表示されなくなるのはなぜですか?
- 26. タブレイアウトとツールバーがこのように表示されるのはなぜですか?
- 27. コードをプッシュした後にヘロクのようこそ画面が表示されるのはなぜですか?
- 28. NoSuchMethodError:mainがアプレットに表示されるのはなぜですか?
- 29. キャンバスにジオメトリドローイングが表示されるのはなぜですか?
- 30. アドレスバーに/#!/が表示されるのはなぜですか?
「gcc -v」は同じことを意味しますか?私は 'gcc -v'がどの作業ディストリビューションでも' '未知 ''という目標を示していることはまれではないことがわかります。 'gcc'はコンパイル時に定義されたターゲットを持っています。 – grochmal