交叉编译(arm-none-eabi-as)arm汇编错误“junk at end of line /”或未定义的符号

问题描述 投票:0回答:2

嗨,当我交叉编译一个startup.s文件时 (arm-none-eabi-as file.s) (*-gcc)

我在每行评论中都遇到一些错误 - 行尾有垃圾,第一个无法识别的字符是

/

当我删除//一些注释行时我得到 即使我在文件开头定义了未定义符号,也会出现有关未定义符号的错误。

有人知道出了什么问题吗?

assembly gcc arm cross-compiling
2个回答
5
投票

如果您想使用宏或C注释,那么您必须使用C预处理器对源文件进行预处理。 C 预处理器删除注释并解释宏。如果源文件名以

.S
结尾,并带有 大写 'S',GNU 汇编器应自动运行 C 预处理器。


3
投票

(arm) 汇编器不支持 // 注释或定义,必须使用 .equ 和 @ 进行注释。 如果你让 gcc 解析它,你可以将类似的 C 主义放入你的汇编器中。 就我个人而言,我会避免此类 C 主义并保持汇编程序的干净。 如果您无法做到这一点或需要包含定义,例如让 gcc 在将文件发送到 Gas 之前对其进行预处理。

© www.soinside.com 2019 - 2024. All rights reserved.