Emacsの開発環境を整える。C言語の開発環境(compile,flymake)
M-x compile [Enter]
を入力し、次にmakefileを指定する。その後、コンパイル結果が新しいウィンドウに表示されるので、
出力されているエラーの上でM-x `を実行するとバグの場所へジャンプが出来る。
flymake-mode
逐次コンパイルを実行し、エラー箇所をハイライトしてくれるスバラシイモードです。
.emacsに以下を記述します。
(add-hook 'c-mode-common-hook (lambda ()(flymake-mode t)))
C/C++のソースがあるディレクトリに以下のMakefileを作ります。事前にmakefileを作っている場合は名前を変更した方が良さそう…。
CC=gcc check-syntax: $(CC) $(CFLGAS) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)
で同ディレクトリで、以下を実行すると、
make -s -C . CHK_SOURCES=ソースファイル SYNTAX_CHECK_MODE=1 check-syntax
そのディレクトリ内にある全てのファイルにflymakeが適用されます。
makefileを使わない方法もあるようです。
(require 'flymake) (defun flymake-cc-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) (list "g++" (list "-Wall" "-Wextra" "-fsyntax-only" local-file)))) (push '("\\.cc$" flymake-cc-init) flymake-allowed-file-name-masks) (add-hook 'c++-mode-hook '(lambda () (flymake-mode t)))