3

以下をインストールしました:MINGW32_NT-6.1 i686 Msys

コマンドラインで作業しています。「典型的な」HelloWorld.cpp プログラムを作成しました。

私がコンパイルした場合: cpp HelloWorld.cpp -o HelloWorld.exe COMPILEは良いです。(18k) しかし、実行に失敗しました: 16 ビット MS-DOS サブシステム。NTVDM CPU エラー

私がコンパイルした場合:g++ HelloWorld.cpp -o HelloWorld.exe COMPILEは良いです。(48k) 実行は良好です。

コンパイルを実行する最良の方法と、方法の違いを判断できません。助言がありますか?または良い参照?ありがとう。

4

1 に答える 1

3

「cpp」は「C プリプロセッサ」であり、コンパイラではありません。つまり、HelloWorld.exe で奇妙なことが起きているだけです。

「type HelloWorld.exe」を実行して、何が表示されるかを確認します。バイナリ ファイルであってはなりません。「#includes」と「#defines」がすべて置き換えられた単なる長いテキスト ファイルです。

あなたの質問には、実際にコンパイラ/リンカーを呼び出して有効な実行可能ファイルを生成するため、2番目の方法は「正しい」です。最初の「方法」は有効なコマンドですが、コンパイルとリンクにはほとんど関係ありません。

于 2012-06-04T18:32:32.220 に答える