问题标签 [armcc]

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 回答
85 浏览

c - 属性(noinline)支持需要什么 ARM 编译器版本?

我不确定如何找出要支持的任何给定属性需要哪个版本的 ARM 编译器(armcc)。

例如__atribute__((noinline))

http://www.keil.com/support/man/docs/armcc/armcc_chr1359124975804.htm

0 投票
1 回答
2278 浏览

c - Lint 警告:#647:可疑截断

我已经阅读了关于可疑截断的这个 Lint 警告的相关问题,但这里是一个纯粹的 C 案例。

以下行是Warning #647弹出的位置:

wherepCont->sig也是 64 位有符号(类型signed int64_t),并且两者sub2都是freq32 位无符号。所有这些都是用armcc编译的。

已经尝试将其1转换为无符号 32 位,但没有成功,但问题仍然存在。

关于我可以尝试什么或这里出了什么问题的任何想法?

0 投票
1 回答
178 浏览

assembly - armcc 抱怨编译 neon 程序集时未定义“q0”

...

使用命令

它有错误表明

我错过了armcc命令中的任何标志吗?

armcc版本是

0 投票
2 回答
870 浏览

c - 强制 ARM 编译器发出未定义的宏错误

头文件config.h包含以下语句:

源文件main.c不包括config.h包含以下内容:

ARM 编译器ARMCC(或者更确切地说,C 预处理器)在编译时不会发出任何警告或错误,main.c尽管CONFIG_COLOR没有定义。

有没有办法强制编译器在上述情况下发出错误?

或者,有没有办法强制 Keil ARM uVision IDE 始终包含config.h每个源文件?

我知道GCC有旗帜可以做到这两点。

0 投票
0 回答
504 浏览

c++ - 带有 armcc 的 ARM Cortex M3 上的特征

我正在尝试将 Eigen 库与 armcc 编译器一起使用,将 Keil 用于 Cortex M3 目标,但出现编译错误:

它来自以下代码:

我对模板魔法不是很好,所以我对它应该如何工作很感兴趣。

我在 Transpose 类中没有看到任何称为派生的方法,它没有从任何其他类继承。唯一具有该名称的方法在 TranspositionsBase 类中,它作为模板参数在 Transpose 中传递,据我所知,没有使用。

有人可以解释一下这里发生了什么吗?而且,如果可能的话,为什么会出现编译错误?

0 投票
0 回答
125 浏览

c - armcc 中的 Nostdlib 导致定义的引用

我有一个针对 ARM 优化并使用 armcc 编译的 C 代码。我想尽可能减少二进制文件的大小。从我正在使用的标准库

我找到了提供给链接器的选项“-nostdlib”。这个选项大大减少了二进制文件的大小,但它给了我关于 printf 的未定义引用的错误,例如排除标准库但仍然使用这些函数的正确方法是什么?

0 投票
1 回答
4388 浏览

c - 使用 armcc 时出现“错误 #119:不允许转换为类型 <..>”

我正在尝试用 armcc 编译一个现有的项目(它是为 gcc 设计的)。出于某种原因,我收到以下强制转换的 #119 错误:

我觉得这很奇怪,因为 flags 变量来自 uint32_t 类型,而 keyCert 类型实际上是 uint32_t。

这种行为的原因可能是什么?请注意,我能够使用 gcc 编译它。谢谢!

0 投票
1 回答
29 浏览

gcc - 在编译时检测包含的大文件

我将 armcc/gcc 用于包含大型头文件(>20MB 硬件 CSR 文件)的代码库。我希望能够检测到包含这个大头文件的任何文件,因为我试图从根本上导致我的构建速度超慢。

我可以在其中一个编译器中使用一个选项来警告我文件的大小(包括它可能包含的头文件的大小)吗?

0 投票
0 回答
455 浏览

eclipse-cdt - eclipse CDT:索引器不适用于预处理器设置

我正在为从日食靛蓝到霓虹灯的移民项目而苦苦挣扎。我在 eclipse neon 中成功构建了项目,但 indexer 并不能真正完美地工作。

问题是我在属性> C/C++ 构建> 设置中注册了#define,但索引器没有得到它。

到目前为止我所做的:

  1. 检查 C/C++ 常规 > 预处理器包括路径、宏等。

    • 我的定义在“CDT 管理的构建设置条目”下
    • 语言中只有一个选项 [未指定]
  2. 更改稳定性设置

    • 有些人建议在“文件中的行数超过”文本框中尽可能大时更改“启用可伸缩性模式”中的数字。所以我做到了,没有任何变化。
  3. 更改索引器设置。我试图更改属性>C/C++ 构建>索引器中的选项。

    • 跳过大于:99999MB 的文件
    • 跳过包含的文件大于:99999MB
    • 尝试'允许启发式解决包括开和关。
    • 索引器的构建配置:使用活动构建配置。
  4. 在右键单击>索引器上重建/刷新所有文件。

    • 项目似乎正在重建,但由于#define 的某些未解决的符号不起作用。

再一次,我的正常构建工作完美。我担心我正在使用旧的 ARM 插件来使用 ARMCC,但我无法更改编译器,因为这是我公司的政策。如果有人弄清楚预处理器是如何工作的,请与我分享,如果没有办法使索引器与 armcc 兼容,我将放弃。

感谢您阅读这个长长的问题。并提前感谢您的回答。

0 投票
2 回答
47 浏览

debugging - “*.map”文件和“*.asm”文件中缺少 API 名称

我正在用 armcc 编译一个项目:

它有以下标志:

这会生成一个地图文件,我也有 fromelf 二进制文件来生成 asm。

但是在输出 *.map(memory) 文件中

如果设置了 Optimization3 (-O3) 标志,我将无法看到我在主函数下添加到构建中的 API 名称,删除它会恢复 api 名称

例如来源:main.c

*.map(与 O3)

来源:*.map(带 -O0)

我的问题是有没有办法在 -O3 打开的情况下生成地图文件,但 *.map 和 *.asm 文件中仍然没有缺少函数符号?