我已经在Emacs中设置了一个自动完成环境,使用clang 2.8作为解析器。它运行良好,但依赖于在完成之前将当前编辑的缓冲区保存到文件。这很慢,所以我试图让clang解析一个通过stdin给它的文件而不是运气到目前为止。
解析文件时命令行I feed clang如下:
clang -cc1 -fsyntax-only -Iinclude/ -code-completion-at foo.cpp:10:20 foo.cpp
这很有效。但尝试从stdin读取失败。我试过这个:
cat foo.cpp | clang -xc++ -cc1 -fsyntax-only -Iinclude/ -code-completion-at -:10:20 -
但这使得clang终止而没有进行任何完成并打印出警告:
clang: warning: argument unused during compilation: '-cc1'
clang: warning: argument unused during compilation: '-code-completion-at'
clang: warning: argument unused during compilation: '-:10:20'
有什么想法吗?
答案 0 :(得分:1)
如果您在-cc1
之前指定-x c++
,是否有效?