【问题标题】:Error: Junk at EOL, first unrecognised character is '('错误:EOL 出现垃圾,第一个无法识别的字符是 '('
【发布时间】:2015-06-16 01:22:21
【问题描述】:

我正在尝试从源代码编译 Quake 1 (QW),在编译 client/d_copy.s 时遇到了以下问题:Error: Junk at EOL, first unrecognised character is '('

有问题的文件是here(请原谅语法高亮,pastebin 只支持 NASM)。我正在尝试使用 GCC 进行编译(因为这是 GNU 汇编代码)并试图找出导致问题的原因。任何帮助将不胜感激。

【问题讨论】:

  • C(VGA_UpdatePlanarScreen): 不是有效标签。汇编器会将( 视为无法识别。不能在标签或变量名中使用括号。
  • 请用问题中的相关代码更新这个问题。

标签: assembly gnu-assembler quake


【解决方案1】:

汇编文件在被发送到汇编器之前要通过 C 预处理器运行。这应该会导致C 宏被正确扩展,假设该宏是在#include 行包含的其他文件之一中定义的。

要让 GCC 预处理程序集文件,您可以使用 -x assembler-with-cpp 选项或重命名文件,使其具有 .S(大写 S)或 .sx 扩展名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多