找回密码
 注册
关于网站域名变更的通知
查看: 319|回复: 2
打印 上一主题 下一主题

ARM 中的一个编译方面碰到的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-12-19 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问 ARM 中的一个编译方面碰到的问题. 在 ARM 地汇编语言中,有条件编译伪指令 IF..ELSE...ENDIF; 7 [9 g: p& W& A/ e3 e# y; {  r2 b6 X
而在 C 语言中,有相应的条件编译伪指令#IF...#ELSE...#ENDIF,在较大的程序设计中, " S4 k# z2 c1 K6 G0 X
往往需要对整个程序进行条件编译.
0 X2 h6 \" o6 {我要问的问题是:我在 CONFIG.H 中设置一个编译开关,对所有的 C 文件进行条件编译是
) f* F/ F6 @& z3 \1 B7 C有效的, 因为每个 C 文件中都有一个语句:#include "config.h",我如何将该编译/ ~* Z9 |; M" F1 t* o1 t
开关的信息传递给汇编语言文件,如 VECYORS.S / H4 m4 S- t  f4 F% g

6 h9 [, T; J( `6 G1 K

该用户从未签到

2#
发表于 2022-12-19 11:14 | 只看该作者
好像没有直接的方法,可以编写一个 CONFIG.INC 来管理汇编程序的配置。

该用户从未签到

3#
发表于 2022-12-19 13:33 | 只看该作者
编译器,其通常分为三个部分:前端+优化器+后端。* R% `. k$ \% D% T+ b3 t8 V
    前端:词法、语法和语义分析,将源代码转化为抽象语法树,生成中间代码; h  u( e. N. w6 I7 C7 m8 g7 K
    优化器:对得到的中间代码进行优化,使得代码更加高效,7 D- f* }! W+ `: S7 |* E' E5 Z
    后端:将优化的代码转化为针对各自平台的机器代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 17:38 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表