Source Insight 如何兼容AutoSAR编码风格

近来使用AutoSAR架构的软件框架,使用的函数申明、变量申明、宏定义等,都使用该架构的规范。公认代码阅读神器Source Insight 却不能够支持该规范,这里将介绍如何修改Source Insight 的C.tom文件,使得兼容。

先来介绍以下AutoSAR的编码风格

函数申明或定义是这样的:

FUNC(void,AAA_CODE) Aaa_Init(void)
{
}

全局变量的申明是这样的:

LOCAL VAR(BOOLEAN,AAA_VAR) aaa_init_state = AAA_UNINITIALIZED;

一些变量指针,函数指针,静态变量指针:

EXTERN P2VAR(IF_AAA_INFO_PACKET,AAA_VAR,AAA_VAR) appbc_write;
EXTERN P2CONST(IF_XXX_INFO_PACKET,AAA_VAR,AAA_VAR) appbc_read;

以至于在我看的文件目录是这样的。。

一下子失去了SI原有的便利性。由于懒惰,我看这样的工程还维持了一段时间。

解决方法是修改在SI的安装目录中的C.tom文件。

在C.tom的末尾添加以下代码:

FUNC(rettype, memclass) rettype
P2VAR(ptrtype, memclass, ptrclass) ptrtype *
P2CONST(ptrtype, memclass, ptrclass) const ptrtype *
CONSTP2VAR(ptrtype, memclass, ptrclass) ptrtype * const
CONSTP2CONST(ptrtype, memclass, ptrclass) const ptrtype * const
P2FUNC(rettype, ptrclass, fctname) rettype (*fctname)
CONST(consttype, memclass) const consttype
VAR(vartype, memclass) vartype

Rebuild一下工程,[Project]-->[Rebuild Project]-->[Start];

或者重新打开工程,就成了。

PS:

如果出现部分文件没有显示成功,将文件移出工程后,再添加进来则可解决。

猜你喜欢

转载自blog.csdn.net/YoKu_i/article/details/103602328