Emacs flycheck C99模式

Mic*_*ael 2 c emacs flycheck

我是Emacs的新手.如何将Flycheck软件包设置为使用C标准99(C99模式)?对于以下代码:

for(int i = 0; i < n; i++) ...

Flycheck会抛弃我:for loop initial declarations are only allowed in C99 mode.

lun*_*orn 6

通过目录变量文件变量设置flycheck-clang-language-standardflycheck-gcc-language-standard(取决于您安装的工具)."gnu99"

对于前者,请键入M-x add-dir-local-variable RET c-mode RET flycheck-clang-language-standard RET "gnu99".

要全局设置标准,请使用C模式挂钩设置每个缓冲区中的值:

(defun my-flycheck-c-setup ()
  (setq flycheck-clang-language-standard "gnu99"))

(add-hook 'c-mode-hook #'my-flycheck-c-setup)
Run Code Online (Sandbox Code Playgroud)

千万不能使用setq-default改变全局值.如果编辑C++文件,那将会中断.