我是Emacs的新手。如何将Flycheck软件包设置为使用C标准99(C99模式)?对于以下代码:
for(int i = 0; i < n; i++)
...
Flycheck会抛弃我:for loop initial declarations are only allowed in C99 mode
。
答案 0 :(得分:6)
通过Directory Variables或File Variables将flycheck-clang-language-standard
或flycheck-gcc-language-standard
(取决于您安装的工具)设置为"gnu99"
。
对于前者,键入 M-x add-dir-local-variable RET c-mode RET flycheck-clang-language-standard RET&#34; gnu99&#34; 。
要全局设置标准,请使用C模式挂钩设置每个缓冲区中的值:
(defun my-flycheck-c-setup ()
(setq flycheck-clang-language-standard "gnu99"))
(add-hook 'c-mode-hook #'my-flycheck-c-setup)
不使用setq-default
更改全局值。如果编辑C ++文件,那将会中断。