VC6+VAX编译KeilC51程序的方法 实现代码自动补全

2020-01-24 12:02发布

本帖最后由 pirdoll 于 2014-3-14 10:44 编辑

前言:
闲来无事,在下面两个帖子的基础上鼓捣出了多文件KeilC51的VC6编译方法。

http://www.amobbs.com/thread-4080638-1-1.html
http://www.openedv.com/posts/list/0/10273.htm

试过使用UltraEdit,但是发现它的自动完成功能有这样一个文件:对于同一个项目里面不同文件之间的函数,比如在main.c中调用了xxx.h中定义的一个函数fun,那么在编辑main.c时代码自动补全功能没法识别到xxx.h中的fun函数,智能识别到main.c文件中的函数或变量。是需要设置哪些选项吗,还是ue就不支持这个功能?

首先使用keil新建工程并进行必要的配置,Output选项卡选中Create Batch File,Build工程。

6.PNG (40.75 KB, 下载次数: 0) 下载附件 2014-3-14 10:34 上传

该方法仅限于项目文件大致确定,修改bug的阶段,否则需要修改BAT文件,而且无法实现双击错误定位的功能。
附BAT文件:
SET C51INC=D:KeilC51INC
SET C51LIB=D:KeilC51LIB
SET CPU_TYPE=STC12LE5A60S2
SET CPU_VENDOR=STC12LE5A16S2 Series
SET UV2_TARGET=FPL
SET CPU_XTAL=0x01518000
"D:KeilC51BINC51.EXE" @.outputuart.__i
"D:KeilC51BINC51.EXE" @.outputiic.__i
"D:KeilC51BINC51.EXE" @.output tc.__i
"D:KeilC51BINC51.EXE" @.outputvoice.__i
"D:KeilC51BINA51.EXE" @.outputSTARTUP._ia
"D:KeilC51BINC51.EXE" @.outputdelay.__i
"D:KeilC51BINC51.EXE" @.outputas602.__i
"D:KeilC51BINC51.EXE" @.outputmain.__i
"D:KeilC51BINBL51.EXE" @.outputFPL.lnp
"D:KeilC51BINOH51.EXE" ".outputFPL"
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
four_zhg
1楼-- · 2020-01-24 14:20
不错,可以试一下了
nongxiaoming
2楼-- · 2020-01-24 15:27
正在使用vs2012+armcc编译+jlink下载的飘过,感觉其他ide在vs面前弱爆了
error_dan
3楼-- · 2020-01-24 17:44
 精彩回答 2  元偷偷看……
68336016
4楼-- · 2020-01-24 23:35
我是怎么简单怎么来,VS里面只要把KEIL相关的头文件库文件加入include,lib中就行了。
同时打开VS和KEIL,一个写代码,一个编译,爽得一塌糊涂。
尤其是修改程序的时候,变量名,函数名,宏什么的,一处修改,全部搞定。
还能自动生成函数声明,函数注释。
mypear
5楼-- · 2020-01-25 05:01
怎么不用Source Insight+keil
nongxiaoming
6楼-- · 2020-01-25 08:16
error_dan 发表于 2014-3-14 11:26
装B用的express版的VS不支持插件真是...
而且折腾起来太麻烦了,就放弃了,反正现在MDK的代码补全也能将就 ...

装旗舰版呀,而且VS2012或2013都不需要VAX插件了的,自带的代码补全已经超越VAX,简直和C#差不多。jlink下载是用的外部脚本,armcc编译也是用的外部SCONS构建,支持gcc和armcc,编译错误信息输出到输出栏,现在错误信息定位还只是能定位到文件,还没能定位到具体哪行。这是比较遗憾的。

一周热门 更多>