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

小米手机做网站服务器吗精仿虎嗅网织梦网站模板

小米手机做网站服务器吗,精仿虎嗅网织梦网站模板,网络公司 网站建设 小程序,网站上有声的文章是怎么做的有很多从事汽车电子行业的软件工程师在使用Source Insight阅览Classic AUTOSAR协议栈源码的时候, 发现函数名无法解析,基本上都变成了FUNC。 先说原因: AUTOSAR的协议栈为了实现多平台和编译器兼容,大量使用宏定义来代替关键字。…

有很多从事汽车电子行业的软件工程师在使用Source Insight阅览Classic AUTOSAR协议栈源码的时候,

发现函数名无法解析,基本上都变成了FUNC。

  • 先说原因:

AUTOSAR的协议栈为了实现多平台和编译器兼容,大量使用宏定义来代替关键字。

函数,指针,返回值,等等。这样可以实现代码对编译器的解耦和复用。

这种标准或者平台化设计的代码,真的和目标就是一亩三分地开发的模式不一样。为了可扩展和复用解耦,增加了很多设计。

  • 解决方法:

Source Insight在 C:\Users\你的用户名\Documents\Source Insight 4.0下面有一个C.tom。在里面可以自定义一些宏展开,

让Source Insight解析,在分析符号的时候进行替换。

注意:目前发现好像不支持宏的嵌套使用,也就是说不可避免的,有一些嵌套使用的宏定义会解析错误。常见于指针的使用解析。

比如FUNC里传入参数是个用宏描述的常量指针,就会被误识别。

宏定义的来源一般放在各种文件名带"compiler"的头文件下,搜索“#define FUNC”这样的字符串差不多就可以搜索到。

例如:

#define FUNC(rettype, memclass) rettype#define FUNC_P2CONST(rettype, ptrclass, memclass) const rettype *#define FUNC_P2VAR(rettype, ptrclass, memclass) rettype *#define P2VAR(ptrtype, memclass, ptrclass)     ptrtype *#define P2CONST(ptrtype, memclass, ptrclass)  const ptrtype *#define CONSTP2VAR(ptrtype, memclass, ptrclass) ptrtype * const#define CONSTP2CONST(ptrtype, memclass, ptrclass) const ptrtype * const#define P2FUNC(rettype, ptrclass, fctname) rettype (* fctname)#define CONSTP2FUNC(rettype, ptrclass, fctname) rettype (* const fctname)#define CONST(consttype, memclass) const consttype#define VAR(vartype, memclass) vartype#define P2P2VAR(ptrtype, memclass, ptrclass) ptrtype **

这样只需要在C.tom末尾添加上述内容,去掉前面的#define就可以了

例如:

FUNC(rettype, memclass) rettype
FUNC_P2CONST(rettype, ptrclass, memclass) const rettype *
FUNC_P2VAR(rettype, ptrclass, 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)
CONSTP2FUNC(rettype, ptrclass, fctname) rettype (* const fctname)
CONST(consttype, memclass) const consttype
VAR(vartype, memclass) vartype
P2P2VAR(ptrtype, memclass, ptrclass) ptrtype **
  • 还有别的宏?

上述的内容比较常用,下面讲讲个性化的。

可能还会遇到各种各样奇奇怪怪的用法,甚至还有些函数在代码里都搜索不到,实际上都可能是宏甚至是字符串拼接宏。

例如常见的:

TASK(your_task_name){...}

实际上这是一个定义在OS User Interface系列头文件中的宏,

#define Task(TaskName) void Os_Task_##TaskName(void)

在C.tom中,就可以直接写上:

Task(TaskName) void Os_Task_##TaskName(void)

修改完之后,重启source insight或者rebuild工程,可以让修改生效!

http://www.yayakq.cn/news/183171/

相关文章:

  • 申请微官网的网站专业做网站电话
  • php餐饮网站大学网站建设情况汇报
  • 爱ppt网站提供微网站制作电话
  • 企业网站建设研究论文wordpress+icon图标
  • 网站建设后端技术雅虎提交网站入口
  • 合肥企业网站建设哪个好网站开发程序开发
  • 微管家里的微网站怎么建设网站建设商城模板下载
  • 易语言怎么做ifa网站填表自己做商务网站有什么利弊
  • 做网站有免费的服务器吗网页制作基础教程教案
  • 新丰县建设局网站做a短视频网站
  • 企业建设网站的价值网络规划设计师教程第二版
  • 定制营销型网站制作黄山旅游攻略作文
  • 哪家公司做移动网站网站添加微博
  • 帮公司做网站网页制作专用工具
  • 做直播哪个网站好华夏名网网站建设教程
  • 辛集网站建设哪家好想学习做网站
  • 专业网站建设加盟合作制作一个网站需要哪些人
  • 电子商城网站的设计与实现网站建设合同附加协议
  • 山西响应式网站建设设计北京网站建设58
  • 用rem做移动网站网站后期维护和管理怎么做
  • 网站推广好不好thymeleaf做网站 seo
  • 竹子建站怎么赚钱别的网站可以做弹幕
  • 青岛市建设局网站停工网站建设服务合同 律师
  • 百汇游戏网站开发商怎么建立一个购物网站
  • 整站优化要多少钱火的网站建设明细报价表
  • 网站策划书ppt网页设计结果分析怎么写
  • 专业做律师网站的公司青岛软件公司排名
  • 常用的网站推广方法有哪些什么网站做软文
  • 网站备案查询验证码错误搭建影视网站
  • 做企业网站的网站备案链接直接查看