当前位置: 首页 > news >正文

VSCode+EIDE通过KeilC51编译,使VSCode+EIDE“支持”C和ASM混编

在使用Keil C51时,要让Keil C51支持混编则需要在混编的.c文件上右键选择Options for File '*'(ALT+F7),打开选项界面后,在 Properties 页 勾上 Generate Assembler SRC File 和 Assemble SRC File ,如下图所示:

这样设置后,Keil C51就可以编译了。

但是在VSCode中的EIDE下,没有这种设置,各种查询后,只能让EIDE生成SRC文件,没找到怎么让其像Keil似的直接编译SRC,最后想到不是很完美的方法,涉及到混编的.c文件修改后,需要编译两次才能通过成功或生效,原因看完步骤后再讲,步骤如下:

一、首先让EIDE生产SRC文件

1、在EIDE下右键混编的.c文件->修改此文件的编译器选项

2、附加编译器选项:SRC(${OutDir}/${OutName}.src)

二、创建bat来编译SRC文件生成OBJ文件

1、新建个bat,用来编译SRC文件(生成OBJ文件)。

@echo offREM 切换到bat文件所在的目录
cd /d %~dp0REM 使用时需要更改为实际A51.EXE的路径
set A51="C:\Keil_v5\C51\BIN\A51.EXE"pushd %1 & for /r %%i in (*.src) do (set srcfilename=%%~iset objpath=%%~dpiset objname=%%~ni
)REM echo %A51%
REM echo %srcfilename%
REM echo %objpath%%objname%.o%A51% %srcfilename% OBJECT(%objpath%%objname%.o) PR(%objpath%%objname%.ls1) EP DEBUG

2、用EIDE的编译器选项中的用户任务中的构建前任务添加任务来执行这个bat

当然混编文件(.c)修改后,首次编译会报错或不生效,再次编译才能通过。通过上边的步骤可看出,因为首次编译执行bat时,没有SRC或还未更新,所以首次只生成或更新SRC,再次编译执行bat这是才能通过SRC生成OBJ文件,进而EIDE的linking步骤才能找到或使用新的OBJ(.o)文件)

三、最后总结

用这个方案,如果修改了混编文件则至少要编译两遍才能生效!

相关文章:

  • Idea如果有参数,怎么debug
  • facebook开源Triton编写GPU内核的编程模型速读:KernelLLM
  • spring.factories详解
  • AI是否会取代人类?浔川问答①
  • docker安装es连接kibana并安装分词器
  • PTA刷题笔记3(微难,有详解)
  • 【瑞数3代】药监评审中心逆向分析 | 后缀MmEwMD参数
  • JDBC-java操作数据库
  • AT24C02(I2C总线)
  • Vue3 + Element Plus表格筛选样式设置
  • ABZ编码器和霍尔电流感应器的工作原理
  • Android中ServiceManager与Binder驱动的关系
  • Maven 项目介绍
  • Java注解运行时访问与处理技术详解
  • Mujoco 学习系列(五)与ROS之间的通讯
  • OpenCV CUDA 模块中图像过滤------创建一个拉普拉斯(Laplacian)滤波器函数createLaplacianFilter()
  • 【HarmonyOS 5】Map Kit 地图服务之应用内地图加载
  • OSI 深度安全防御体系架构深度剖析
  • HarmonyOS NEXT~鸿蒙AI开发全解析:HarmonyOS SDK中的智能能力与应用实践
  • JavaScript进阶(十二)
  • 浙江高端网站建设/竞价托管推广哪家好
  • 东莞万江做网站/长沙seo关键词
  • 香港主机网站充值/企业管理软件
  • asp网站建设/推广网站的文案
  • 产品网站怎样做外部链接/怎样创建自己的电商平台
  • 山西网站制作公司哪家好/谷歌搜索引擎免费入口