gpt4 book ai didi

emacs - #ifdef 上的 cedet 解析问题

转载 作者:行者123 更新时间:2023-12-04 21:23:50 26 4
gpt4 key购买 nike

我是 emacs cedet 用户。我得到了 cedet 的大力帮助。

但是,我发现在 cedet 中处理 #ifdef 时出现一些错误。
不确定它是来自 cedet 内部还是我的错误配置。
我在 Curl 中引用了发生此问题的一些代码。

#ifdef CURL_DO_LINEEND_CONV
if((data->set.crlf) || (data->set.prefer_ascii)) {
#else
if(data->set.crlf) {
#endif /* CURL_DO_LINEEND_CONV */
endofline_native = "\n";

使用此代码,必须有一些错误的括号匹配。因为我在使用 (eassist-list-methods) 或其他 cedet-semantic 函数(跳转到定义)时出错了。

我可以很容易地猜到这可能来自 #ifdef .. #endif 块中的两个大括号。
我承包了这些喜欢这个。
#ifdef CURL_DO_LINEEND_CONV
if((data->set.crlf) || (data->set.prefer_ascii))
#else
if(data->set.crlf)
#endif /* CURL_DO_LINEEND_CONV */
{
endofline_native = "\n";

在此之后,cedet 语义函数运行良好。

对此有什么想法吗?是来自 cedet 解析器问题吗?

如果我必须在 cedet 中配置某些点,您能给我一些见解吗?

谢谢

最佳答案

聚会有点晚了,但如果有人仍在为此苦苦挣扎,请将以下行添加到您的 emacs init 文件中:

(setq semantic-c-obey-conditional-section-parsing-flag nil)

关于emacs - #ifdef 上的 cedet 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com