当前位置: 首页 > 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/537757/

相关文章:

  • 网站建设数据库代码长沙网站搭建首选智投未来
  • 门户网站建设哪专业抖音网页版小程序入口
  • 圣弘建设股份有限公司网站商品推广软文写作500字
  • 长春网站seo外包学校管理网站源码
  • 沈阳免费做网站常用python编程软件
  • 没有网站可以做百度直通车吗织梦网站首页打开慢
  • 狠狠做网站改成什么了如何做产品网站推广
  • 宁波建网站哪家太原市做网站公司
  • 湘潭知名网站建设简述seo对各类网站的作用
  • 江苏中益建设官方网站巨蟹座适合网站建设吗
  • 聊城网站开发培训吉林省建设信息网工程招投标
  • 设计素材网站排行榜芜湖网页美工设计
  • 网龙公司有做网站吗前端开发工程师需要考什么证
  • 怎么建设婚恋网站柒零叁网站建设湖南长沙
  • 龙岗做网站多少钱专业的网站建设平台
  • .网站建设的基本步骤池州市建设工程质量安全监督局网站
  • 肇庆制作企业网站长春做网站优化哪家好
  • 河南专业网站建设公司排名wordpress磁力插件
  • 做网站的市场前景wordpress更新删除
  • 百度网站收录删除网站制作 南宁
  • 如何用h5自己做网站django商城网站开发的功能
  • 公司注册网站方法唐山做企业网站
  • asp网站开发教程入门太平洋电脑网官方网站
  • 邵阳做网站的公司什么是网络营销直播
  • 中国第八冶金建设公司网站衡阳网站推广
  • 网站站长是什么监理网站建设价格多少
  • 网络公司给我们做的网站_但是我们不知道域名是否属于我们公司网站设计模板
  • 手机wap网站制作免费个人可以做自媒体网站吗
  • 企业建网站的费用台州网站优化方案
  • .net企业网站wordpress 文章 插件