clang(clangd)与arm-linux-gcc、ARMGCC、ICCARM(IAR)、C51编译器的兼容性

环境:vscode+clangd+EIDE开发开发单片机(C51 keilMDK IAR)。

        vscode+远程+clangd+arm-linux-gcc(交叉编译工具链)。

(1)首先clang(clangd)是兼容gcc的,也就是兼容arm-linux-gcc(交叉编译工具链),所以使用第三方软件bear追踪make编译uboot或者内核源码生成的compile_commands.json文件是完全可以被clangd识别的。

(2)clangd与kei C51的兼容性。经过我的测试使用vscode+EIDE+clangd导入C51工程后,生成的compile_commands.json文件虽然也能够被clangd识别,但是存在好多错误例如找不到str、sbit这些关键字的定义,无法找到某些函数。我咨询过EIDE论坛。他们的说法是clang并不兼容C51、ARMGCC(keil MDK的编译器)、IAR编译器(iccarm.exe),但是clang是兼容gcc的,因此建议我还是使用vscode的c/c++插件来追踪keil c51的相关全局变量或者函数等

我发现使用clangd插件追踪vscode+keil C51工程在涉及到reg51.h头文件中定义的内容或者keil C51软件再带的配置例如“code”关键字,clangd无法追踪,另外需要自己在.clangd文件中添加头文件路径。其他的情况还好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值