【发布时间】:2014-09-21 02:59:42
【问题描述】:
我是 Emacs 新手。如何将 Flycheck 包设置为使用 C 标准 99(C99 模式)?对于以下代码:
for(int i = 0; i < n; i++) ...
Flycheck 会扔给我:for loop initial declarations are only allowed in C99 mode。
【问题讨论】:
我是 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 或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++ 文件,这将中断。
【讨论】: