希望能使用命令行的方式来编译C51源程序,遇到的问题是:设备有多种不同的型号的硬件,所以就有不同的驱动,我想在编译的时候,能像在linux下的makeile那样,自己写一个宏定义编译连接的东西,用批处理实现,求大神指点一下,这方面的资料太少!下面使使用命令行编译的代码,实在不知道用批处理怎么实现宏定义的选择,以及将所选的宏定义与单片机源程序一起编译。
set PATH=%PATH%;G:\develop\keil\C51\BIN;G:\develop\keil\C51\INC;G:\develop\keil\C51\LIB
set C51_LIB=G:\develop\keil\C51\LIB\
(注:其中的G:\develop\keil目录要改成本机安装keil的位置)
set DST_NAME=obj\output (注:指定输出文件名)
set DIR=D:\source (注:指定源文件所在目录)
echo 转向工作目录
d: (注:源文件所在区)
cd %DIR%
echo 编译文件...
c51 a.c
c51 b.c
c51 c.c
c51 d.c
md obj
echo 链接目标文件...
BL51 %C51_LIB%C51s.lib,a.obj,b.obj,c.obj,d.obj,EXTERN_LIB.obj TO %DST_NAME% RAMSIZE(256) CODE(?CO?c(FC00H), ?CO?d(FFD0H))
(注:EXTERN_LIB.obj文件是已经编译好的obj文件,用于编译部分模块只有目标代码的项目,RAMSIZE等是一些链接设置,详细信息请参考C51\HLP\A51.pdf)
echo 生成HEX文件...
OH51 %DST_NAME%
echo 编译结束
cd \
------解决思路----------------------
MARK 也一直想了解这方面的内容。期待有高手指点!!!
------解决思路----------------------
为什么要用命令行?IDE有什么不好?