奇怪的语义错误

2024-01-25

我已在新的 Linux 主机上重新安装了 emacs 24.2.50 并基于以下内容启动了新的 dotEmacs 配置magnars https://github.com/magnars/.emacs.demacs 配置。由于我在之前的工作流程中使用 CEDET 取得了一些成功,所以我开始配置它。然而,每当我加载 C++ 源文件时,都会出现一些奇怪的行为。

【这部分已解决】
正如预期的那样,语义解析所有包含的文件(并且在初始设置期间解析由语义添加系统包含变量),但它会打印一条错误消息,如下所示:

WARNING: semantic-find-file-noselect called for /usr/include/c++/4.7/vector while in set-auto-mode for /usr/include/c++/4.7/vector. You should call the responsible function into 'mode-local-init-hook'.

在上面的示例中,为 STL 矢量打印了错误,但为我正在访问的文件以及任何后续包含的每个文件打印了相应的错误消息。因此,需要相当长的时间才能完成,不幸的是,无论我打开新的缓冲区,该过程都会重复。

【这个问题也解决了】
此外,当我将点放置在非 c 基元类型(即不是 int、double、float 等)上方而不是在模型行中打印类型的定义时,解析似乎并没有真正起作用,例如错误消息

Idle Service Error semantic-idle-local-symbol-highlight-idle-function: "#<buffer DEPFETResolutionAnalysis.cc> - Wrong type argument: stringp, (((0) \"IndexMap\"))" Idle Service Error semantic-idle-summary-idle-function: "#<buffer DEPFETResolutionAnalysis.cc> - Wrong type argument: stringp, ((\"fXBetween\" 0 nil nil))"

where DEPFET 分辨率分析.cc是我当前正在编辑的文件和缓冲区IndexMap and 之间的fX是我正在编辑的文件包含的文件/我正在编辑的文件包含的某些文件中定义的类型。

我还没有测试 CEDET/semantic 的任何进一步功能,因为这个问题非常烦人。我的 cedet 配置可以找到here http://pastebin.com/GNMkSbFV.

EDIT:在亚历克斯·奥特的帮助下,我解决了第一个问题。这是由于我可怕的 cedet 初始化。请参阅他的第一个答案,了解配置 CEDET 的正确方法!
问题仍然存在Idle Service Error(其中,当启用global-semantic-idle-local-symbol-highlight-mode,永久发生,不仅在检查点类型的定义时)。
还有就是new如何的问题禁用站点初始化文件.

EDIT2:我已经执行了semantic-debug-idle-function在发生问题的缓冲区中,它会产生约 700kb [原文如此!] 的输出。看起来它正在对数据容器执行一些操作,从外观上看,该数据容器包含有关解析的文件中定义的所有符号的信息。由于我解析了一个相当大的包(~20Mb 源文件),所以这个表相当大。语义可以处理这么大的数据库吗?或者这是不可能的,以及我的问题的原因?

EDIT3:删除内容~/.semanticdb并重新解析所有包含内容就成功了。我仍然需要禁用站点方式初始化文件,但由于这与 CEDET 无关,我将关闭此问题(与站点方式初始化文件相关的问题可以找到here https://stackoverflow.com/questions/13233285/howto-disable-the-emacs-site-start-files-permanently).


您需要更改 init 文件,以便它仅执行一次 CEDET 加载,而不是在为每个 .h/.hpp/.c/.cpp 文件调用的挂钩中。你可以改变这个配置 https://gist.github.com/3930120作为基础,并阅读更多内容以下文章 http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html.

您遇到的问题是由于 Semantic 试图分析头文件而引起的,当它尝试打开它们时,它的初始化例程会被再次调用,然后再次......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

奇怪的语义错误 的相关文章

  • 调用许多网络服务的最佳方式?

    我有 30 家子公司 每家都实施了他们的 Web 服务 使用不同的技术 我需要实现一个Web服务来聚合它们 例如 所有子公司的Web服务都有一个名为的Web方法GetUserPoint int nationalCode 我需要实现我的网络服
  • 当从后台工作程序发生事件时,XlCall.Excel(XlCall.xlcCalculateNow) 抛出 XlCallException

    我有一个 ExcelFunction 来排队一些计算 ExcelFunction public static void QueueCalcs takes ranges var calcRequests builds list of calc
  • 通过另一个列表更新列表(linq)

    我有类 Data 的对象列表 如下所示 class Data int code string name DateTime date update 我还有另一个课程列表 例如 class RefCodes int old code int n
  • EventHandler 应该始终用于事件吗?

    我一直在愉快地使用自定义委托类型和通用编写事件Action委托类型 没有真正考虑我在做什么 我有一些很好的扩展助手Action and EventHandler这使我倾向于使用那些预定义的委托类型而不是我自己的委托类型 但除此之外 除了惯例
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 如何调整 Windows 窗体以适应任何屏幕分辨率?

    我知道这是重复的问题 但我检查了所有其他相关问题 他们的答案没有帮助 结果仍然与屏幕截图 2 中所示相同 我是 C Windows 窗体新手 如截图1所示 我有Form1有一些控件 每组控件都放在一个面板中 我在 PC1 中设计了应用程序
  • C++中的类要具备什么条件才能成为容器?

    我是 C 编程新手 偶然发现了这个术语containers举例如下vector deque map etc 一个企业的最低要求应该是什么class应该满足被称为container in C 我将从 范围 这个概念开始 Range 只有两个方
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 在 C 语言中替换宏内的宏

    我正在尝试使代码部分可重用 我下面的评论片段没有达到我想要的效果 define NAME ABC define LOG SIZE NAME LEN 我想LOG SIZE决心ABC LEN 我尝试过使用 但没能让它发挥作用 LOG SIZE在
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 不使用放置 new 返回的指针时的 C++ 严格别名

    这可能会导致未定义的行为吗 uint8 t storage 4 We assume storage is properly aligned here int32 t intPtr new void storage int32 t 4 I k
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类

随机推荐

  • 尝试将实体编码为 json 时出现问题

    我尝试将 Doctrine 实体编码为 JSON 字符串 以作为 Ajax 响应发送 所以 我检查了文档 串行器组件 http symfony com doc current components serializer html 我尝试使用
  • Vue.js 空过滤结果

    在 Vue 中 我必须过滤一些数据
  • Swift3随机扩展方法

    我使用这个扩展方法来生成随机数 func Rand range Range
  • 从使用 atexit() 注册的函数内部获取退出状态

    在我的里面atexit 注册函数我想获得退出状态 参数exit 3 或者 main 返回了什么 有没有任何便携式方法可以做到这一点 是否有任何 GNU libc 特定的方法可以做到这一点 例如我可以引用的全局持有该值 这是一个技巧 hack
  • 如何将图片上传到另一台服务器?

    我想创建一个提供 html 内容的应用程序服务器 其中包含由不同域上的另一台服务器提供的静态图像的链接 图片由用户通过应用服务器上传 我将执行以下操作将 JPEG 文件上传到应用程序服务器 if file exists folder nam
  • TFS 构建失败,但 Visual Studio 可以工作

    我做了一个新的构建定义 大多数选项保留默认值 我暂时只是玩玩而已 问题是 当我在 Visual Studio 2013 中以发布模式构建项目时 一切都很好 没有错误 当 TFS 构建它时 我遇到了一些错误 我必须将其从我自己的语言翻译成英语
  • 如何在滚动视图中调整图像视图的大小,就像在此图像中完成的那样?

    我创建了一个滚动视图 并在其中放置了一个图像视图 我希望滚动它以与下图中相同的方式调整大小 但到目前为止我还没有取得什么成功 在我的尝试中 图像在滚动时调整了大小 但是调整大小后仍有剩余空间 您将如何修改以下内容 Image 到目前为止我的
  • JS 中的 Excel PMT 函数

    我在互联网上找到了一个关于 PMT 计算的小片段 function PMT i n p return i p Math pow 1 i n 1 Math pow 1 i n function CalculatePMTFromForm idL
  • 如何在多个显示器上最大化窗口?

    使用 AutoHotkey 如何绑定热键以在多个显示器上拉伸 最大化 跨越窗口 以便它覆盖两个显示器 现在 我必须通过用鼠标手动拉伸窗口来完成此操作 我知道有专用工具可以执行此操作 但我已经在运行 AutoHotkey 脚本 并且宁愿限制我
  • SOQL python 中的通配符

    我正在尝试使用 simple salesforce 包使用 python 从 salesforce 进行查询 当我使用通配符时 它会抛出故障错误 soql SELECT FROM Contact where LastModifiedDate
  • Protractor 的 waitForAngular() 在 angular-webapp 上失败(真实设备上的 appium/chrome)

    我 新 使用量角器来运行 e2e 黄瓜测试 我有一个基于 angularJS 的网络应用程序 我正在使用 appium 在真实的 Android 设备上远程运行测试 这是我正在使用的版本 windows8 1 email protected
  • SBT:评估任务顺序

    我正在尝试获取有关 sbt 项目中所有模块的信息 有以下代码 lazy val getModule taskKey Module get single module info lazy val allModules taskKey Seq
  • 在 FilterChain.doFilter() - HttpServletResponseWrapper 之后添加 Cookie 以忽略刷新?

    我想将 cookie 添加到HttpServletResponse其内容 通常是 HTML 呈现后 正如这里提到的 http osdir com ml java jasig uportal 2005 10 msg00276 html htt
  • 基于 SQS 消息触发 SWF 工作流

    前言 我正在尝试针对我认为非常常见的用例提出一个提案 并且我想使用 Amazon 的 SWF 和 SQS 来实现我的目标 可能还有其他服务更符合我想要做的事情 所以如果您有建议 请随时扔掉它们 Problem 最基本的需求是客户端 移动设备
  • 在 webpack 中使用 file-loader 和 html-loader 时,图像的 src attr 为“[object Module]”

    我正在从头开始使用 webpack4 做一个项目 但是当我尝试在 HTML 文件中显示图像时 我遇到了一个奇怪的问题 后npm run build 图像标签的src构建为
  • Scala 中需要 @tailrec 注解吗? [复制]

    这个问题在这里已经有答案了 我了解递归函数的问题以及堆栈溢出问题的风险 但是 如果一个函数能够针对尾递归进行优化 那么为什么不自动应用此优化 即 为什么我需要标记一个可以优化的函数 tailrec 如果一个函数能够针对尾递归进行优化 那么为
  • 将 purrr::map2() 与 dbplyr 一起使用

    我试图从一个表 位置 中选择行 其中特定列 位置 的值落在另一个表 my ranges 中定义的范围内 然后从 我的范围 表 我可以使用 tibbles 和几个来做到这一点purrr map2调用 但相同的方法不适用于 dbplyr 数据库
  • Java:迭代开始和结束日期,最佳实践?

    迭代开始日期和结束日期的最佳实践是什么 我曾经使用过以下的变体日期迭代器 http helpdesk objects com au java how can i iterate through all dates in a range 不确
  • UIScrollView 中的 UICollectionView -> 滚动顺序

    我有一个UICollectionView里面一个UIScrollView 我的计划是 如果UICollectionView到达顶部或底部 外部 ScrollView 获取滚动手势 如果外 ScrollView 到达顶部或底部 Collect
  • 奇怪的语义错误

    我已在新的 Linux 主机上重新安装了 emacs 24 2 50 并基于以下内容启动了新的 dotEmacs 配置magnars https github com magnars emacs demacs 配置 由于我在之前的工作流程中