2011-01-07 14 views
0

私のような非常に簡単なプログラムを書いた:(。?申し訳ありませんが、私はそれを修正する可能性がどのように正しい方法でコードを入力したが、表示が配線されている)コンパイルCの問題(Ubuntuの)

#include <stdio.h> 
int main(void) 
{ 
    int i; 

    for (i = 0; i <= 10; i++) { 
     printf("%d hello!\n", i); 
    } 
    return 0; 
} 

通常、私はコマンドを使用して、端末内のCプログラムをコンパイル

のcc -o xxxのxxx.cだから、Emacsの中

、私は、MXコンパイル入力すると、私は、CC -oに-k作り変えます。 しかし、私は

CCのようなエラーが発生しました:「-o」への引数は、問題は何

が不足していますか?

私が作る使用している場合は、その後、私はまだエラー

指定されていません目標を持って、何のmakefileが見つかりませんでした。

最後に、上記の問題が修正された場合、どのようにしてコンパイル用のカスタムホットキーを定義できますか? 私は既に持っている

グローバル設定キー、[F8]「後藤ライン

ような何かをする方法を知っている。しかし、私は唯一のCモードのアクションのためのホットキーを設定するのか分かりません。

+0

おかげさまhilal、ディスプレイの問題を解決する方法を教えてもらえますか?私はそれをチェックしたが、私が入力したのとほとんど同じように思える。 – user565739

+0

http://stackoverflow.com/editing-help(googleapis.comからjavascriptをブロックしていない場合は、編集フォームの右上に明るいオレンジ色の疑問符が表示されます)。ありがとう。 – phils

答えて

2

ccライン全体を指定する必要があります。

"make -k"は、Makefileがコマンドを提供していることを前提としています。

ので、結合のemacs用として

cc -o xxx xxx.c 

で-k作る置き換える:

(global-set-key [f6] 'compile) 
+0

ありがとう。それは素晴らしい作品です。それは必要ではありませんが、好奇心が強いのは可能です:デフォルトのコンパイルコマンドをcc -oに設定します(私はこれを見ました)。 f6を押してから、現在のファイルを直接コンパイルします(xxxを入力しないでください)。c)出力ファイルをxxxとして出力します(出力ファイル名を指定する必要はありません)。 (またはmakeを使って同様のことをする方法?) – user565739

+0

Emacsは完全なLISPインタセプタを持っているので、可能であり、難しくありません。あなたはそれについて質問したり、elispを学んでいる時間を過ごす方がよいでしょう。私は私の頭の上を言ってはいけません、私はemacsのカスタマイズを見てから数年が経ちました。 –

0

XXXを作るために-k作る変更してみてください。

0

これは、変数compile-command(これはcompileで使用され、通常はmake -kを含む)のために書かれているようです。

Do C-h v compile-commandを参照して、変数のマニュアルを参照してください。それはあなたが好きに変更することができるいくつかのコードが含まれています。

1

このような単純な一つのファイルのプログラムを構築するための良い方法は、このように、ファイルの先頭にコンパイルコマンド変数の値を追加することです:

// -*- compile-command:"g++ helloworld.cpp -g -o helloworld.exe"; -*- 

これについての詳細は私のブログにあります投稿"Writing quick C++ programs in emacs without a makefile"