【发布时间】:2011-04-18 10:22:00
【问题描述】:
我想将 Makefile 中定义的某些宏传递给预处理器,如以下代码中的“_DBGR_ON_”,以便相应地组装代码。此选项在 diab 编译器(用于 powerpc 的 c 交叉编译器)中工作,方法是在 makefile 中使用 -D_DBGR_ON_ 定义它并将其包含为汇编器标志。 但是如何将它包含在 GCC 中。
当我做同样的事情时(ASFLAGS = -mregnames -D_DBGR_ON_.),我得到了错误:无法识别的选项 `-_DBGR_ON_'
然后,我尝试了 ASFLAGS = -mregnames -D _DBGR_ON_,我得到“无法打开 _DBGR_ON_ 进行阅读:没有这样的文件或目录”
请帮忙,因为 -D 选项在 GCC 中被忽略了。
我在 Diab 中使用 -D 选项进行条件汇编、编译。如何在 GCC 中做到这一点。我被困在这里了。
问候, 图拉西
startup.s 文件的内容...
.globl _start
_start:
.ifndef _DBGR_ON_ # Flash mode
mfmsr r3
ori r3,r3,0x1040 # Set ME/IP flags
mtmsr r3
sync
.else
mfmsr r3
ori r3,r3,0x1000 # Set ME/IP flags
mtmsr r3
sync
.endif #_DBGR_ON_
.......等等..
【问题讨论】:
标签: gcc gnu-assembler c-preprocessor