问题标签 [greenhills]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1428 浏览

debugging - MULTI 调试器关闭一个断点

有没有人见过 Multi 调试器的行号错误或断点被一个击中?

我有一个 MULTI 脚本 (scripty.rc),它通过一个依赖于在该程序结束时命中断点的过程。该程序在两个循环之一中完成:

所以我应该在 6649 或 6651 中断,为用户打印该行,并让他们验证一切是否正常。

但。

它并没有在 6651 处突破。至少并非总是如此。午餐前,当我确保一切正常时,我看到它就像我想要的那样击中它。午饭后,当我和硬件人员演示它时,它打印出来的行是6650 NOP. 比如什么鬼?真的吗?我演示你的那一刻你就背叛了我?

我验证软件是相同的,它不是一些偷偷摸摸的提交。

我验证脚本是一样的。这不像是设置了不同的断点。

我用断点做数学。在脚本中bp _start#2135是,_start是的,在 4516。是的,经过深入分析,4516+2135=6651。

我看到它早些时候击中了正确的路线。

我很想把这归咎于我与 MULTI 的不健康关系。解决方法很简单,但非确定性调试器听起来很可怕,我想将它运行到地面。有没有人见过 Multi 调试器的行号错误或断点被一个击中?任何人都知道它可能是什么?我搞砸了一些简单的事情吗?

0 投票
0 回答
623 浏览

c - 将静态库添加到我现有的项目 - Greenhills 编译器

我的客户为我的项目提供了一个静态库(.a)。这个静态库的目标是将库中存在的功能集成到我的项目中。

我面临的问题是,当我尝试链接此文件时,我的链接器无法链接它并引发错误。

例如:考虑库中有一个定义为“void get_input()”的函数。当我尝试在我的 c 文件中调用此函数时,我的链接器会抛出符号未定义的错误。

我正在使用 Greenhills 编译器。

0 投票
2 回答
204 浏览

c++ - 完整性 RTOS \ 多编译器

在 Windows 中,我可以从命名空间外部看到我在命名空间中声明的任何变量,但是对于 Multi 编译器,它是如此严格,如果您在命名空间 X 中声明了某个变量,则只能在命名空间中访问该变量X,但我也想从命名空间之外访问这个变量。

是否有任何预处理器定义或任何方法可以使这成为可能。这对我来说是必须的,我不能删除命名空间。

任何形式的帮助表示赞赏。

0 投票
0 回答
145 浏览

c++ - MIPS 编译器 (C++98) 上的 Eigen 3.3.4 编译错误

我在 Multi-2000 (Green Hill) MIPS C++ 编译器下编译 Eigen 3.3.4。在我解决了 Macros.h 中的一些对齐宏问题后,我再次遇到了一些模板表达式的问题。查找错误详细信息,如下所示。我知道这对于我的旧 C++ 编译器来说应该是一些问题,但是任何可以提出解决它的人都将不胜感激。

所以问题必须在下面的表达式中。但我真的想不通。

更新 8/25 ->“typename enable_if”是否会导致这种情况?

0 投票
1 回答
2599 浏览

greenhills - Greenhills 多软件图标未显示在 Window 10 的工具栏/Alt+Tab 中

Greenhills 多软件安装在 Windows 10 PC 中。启动软件后,我可以看到 IDE 的 GUI,但是一旦我最小化,除了任务管理器之外,我在工具栏或 Alt+Tab 的任何地方都找不到软件图标。

我已经搜索了软件中提供的所有选项,但找不到解决方案。

提供启用功能以在工具栏上显示 GHS 多图标的选项。

0 投票
3 回答
1383 浏览

c++ - C++ 内存分配使用 Under Green Hills INTEGRITY

对不起,我是格林希尔的新手。我正在使用 MULTI 6.1.6,我选择的语言是 C++。

尝试使用模拟器使用 new 启动大于 1M 的类的对象时遇到问题。

如果 sizeOf(Class_Big) > 1MB 它根本不会调用类构造函数,返回 NULL 并转到下一条指令 (Class_Small* Small_obj;) 并正确创建下一个对象。如果我在 Class_Big 上找出一些变量以使其大小 < 1MB,则代码可以正常工作并创建对象。

我都加了

到我的 xml 文件。

我在构建阶段遇到的另一个错误如果我使用了一个大类:

你能帮忙吗?

谢谢

0 投票
1 回答
483 浏览

c++ - 默认构造的映射迭代器在增量时进入无限循环 - Green Hills 编译器

我必须从头到尾对 std::map 中的所有元素进行简单的迭代。在每个元素上,我必须执行一个操作。假设地图包含以下对:

执行迭代的代码如下:

现在令人惊讶的是,上面的代码适用于第一个元素(puppy被馈送)但迭代器无法转到下一个元素。调试器显示++beast永远不会返回(似乎它永远在其左叶上递归分支)。

似乎这里的问题beast是从未分配给farm.begin()它,因此它不能前进到下一个项目(参见 for 的第一个元素)。

所以这是我的问题:

  • 映射迭代器的默认构造函数自动定位对象以指向map.begin()元素是否正常?

  • 如果这是常见的做法,那么为什么会返回一个有效的第一个元素(例如,它可能已被返回map.end())?

  • 怎么可能operator++允许在无限循环中悄悄失败?返回错误代码(我们禁用异常)或以某种方式公开失败不是更好吗?

我想知道标准是否允许这种行为,或者它是一种实现选择。

假设:我没有使用 C++11,我使用的是禁用了执行支持的 Green Hills 编译器 v2016

编辑:

我试图理解为什么我得到一个有效值和一个安静的失败,因为在其他线程中人们建议将默认构造的迭代器分配给map.end(). 标准是否对此提供指导?

0 投票
1 回答
154 浏览

c - 是否可以使用 GreenHills 使用不同于数字常量的东西进行预处理评估?

我正在尝试进行以下评估:在我的头文件中(定义值可以更改):

在我的功能中:

当我编译代码时,它会引发以下错误:

当我进行操作以查看 DEFINE 是否存在(或不存在)时,它工作正常(#ifdef 或 #if defined(X))。但我想要的是能够在编译时评估 X 的值。我是否缺少任何标志或我需要设置的东西才能使这项工作?我正在使用 Green Hills 编译器。

0 投票
2 回答
1159 浏览

tizen - 像 Green Hill Software 的 INTEGRITY RTOS 这样的 RTOS 如何与汽车级 linux 集成?

我正在尝试了解汽车代码的堆栈——我知道 Linux/Android 可以位于它之上,所以我会假设 AGL,但我不确定 RTOS 作为平台提供的区别和框架。

第二点:AGL 最初基于的 Tizen 也是 Integrity 线中的 RTOS,还是仅仅是一个操作系统?Tizen 和 Integrity 有什么区别?他们只是竞争对手,还是堆栈中完全不同的层?

0 投票
3 回答
1676 浏览

c - 是否可以禁用外部库的 MISRA 检查?

是否可以禁用外部库的 MISRA 检查?我已经尝试过了,但它似乎不起作用(此标头使用 C++ 样式注释和不兼容的 @ 标记)。

2018 年 10 月 4 日更新:最小示例

编译器输出:AFAIU 这些行与#pragmas 包含的包含相关