我是 Emacs 的新手。如何将 Flycheck 包设置为使用 C 标准 99(C99 模式)?对于以下代码:
for(int i = 0; i < n; i++)
...
Flycheck 会扔给我:for loop initial declarations are only allowed in C99 mode
.
通过Directory Variables或File Variables将flycheck-clang-language-standard
or flycheck-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)
不要用于setq-default
更改全局值。如果您编辑 C++ 文件,这将中断。