emacs内でプログラムをコンパイルする最良の方法は何ですか? 現在、別のバッファーを開き、C-x 3その中で eshell を実行してからM-x eshell、make または clang を直接呼び出しています。ほとんどの場合、私は Makefile をセットアップしています。
M-x compileeshell 内で make を実行するのと比較して、コンパイル プロセスを実行する利点はありますか? それを行う他の方法と、それらの長所/短所は何ですか?
emacs内でプログラムをコンパイルする最良の方法は何ですか? 現在、別のバッファーを開き、C-x 3その中で eshell を実行してからM-x eshell、make または clang を直接呼び出しています。ほとんどの場合、私は Makefile をセットアップしています。
M-x compileeshell 内で make を実行するのと比較して、コンパイル プロセスを実行する利点はありますか? それを行う他の方法と、それらの長所/短所は何ですか?
これを行う最も簡単な方法は、Emacs 組み込みcompileコマンドを使用することです。M-x compileうまくいくはずです。その後、実行されるコマンドを編集し (デフォルトでmake -kは )、リターン キーを押してコンパイルを実行できます。次に、Emacs は出力を解析し、エラーが見つかった場合は、ソース ファイルにリンクして、バッファーで開くことができるようにします。
それについての良い点は次のとおりです。
M-nエラーメッセージでM-pスクロールこれらの機能のほとんどはcompilation-minor-mode、実際のコンパイル コマンドとバッファではなく、マイナー モードによって提供されます。でコンパイル コマンドを実行するeshellと、マイナー モードを に設定することで、おそらく同様の結果を得ることができますcompilation-minor-mode。
私は個人的に、次の理由から、マルチタームmake内でコンパイルするために使用しているコマンドを実行することを好みます。
( 、、 …)M-xcompileRETをアクティブにした場合と
同じように機能します。compilation-shell-minor-modeM-pC-`
ただし、明らかに、次のような他のコマンドを使用できます
mkdir build
cd build
./configure --with-another-option
もちろん、Emacs からこれを行うこともできますが、私はこの種のものにはシェルの相互作用を好みます。
そして、imo、の主な欠点はM-xcompile、別のディレクトリにあるファイルを編集している場合
、正しいディレクトリでMakefile使用してから. しかし、必要に応じ
て に話しかけると、正しいディレクトリに切り替えて、元に戻す必要があります。M-xcompileM-xrecompilemake clean && make
ただしterm.el、独自の欠点があり、移植性のないハッキーな方法を使用して現在のディレクトリを追跡します。