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

去培训机构学it靠谱吗seo和sem的概念

去培训机构学it靠谱吗,seo和sem的概念,大连零基础网站建设教学在哪里,各大网站做推广的广告怎么做有很多从事汽车电子行业的软件工程师在使用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.hengruixuexiao.com/news/41409.html

相关文章:

  • 在百度上免费做网站页面广州网站优化系统
  • 如何在百度创建网站大同优化推广
  • 手机网站单独域名seo快排软件
  • 做h的小说网站有哪些网站优化关键词排名公司
  • 游戏网站上做银商为赌博人员推广普通话的宣传标语
  • 上海建设工程咨询网站百度竞价排名规则及费用
  • 网站建设核心点全网网站快速排名推广软件
  • 游戏是怎么做的视频网站惠州seo快速排名
  • 网站建设与管理专业自我评价搜索引擎推广方式
  • 巩义专业网站建设公司推荐品牌策略的7种类型
  • 门户网站建设计划关键字是什么意思
  • 中国制造网国际站官网杭州seo博客
  • wordpress备份整站谷歌seo代运营
  • 百度地图怎么放在网站上青岛快速排名
  • WordPress百科模板网络优化的内容包括哪些
  • 上海企业网站营销电话品牌推广的三个阶段
  • 网站聊天怎么做南沙seo培训
  • 那个网站可以做雪花特效网站推广seo
  • 网站按抓取手机软件贵阳优化营商环境 提升服务效能
  • 雄安政府网站建设杭州网络优化公司排名
  • 网站优化软件有哪些百度竞价代运营
  • 辽宁网站建设排名如何让百度搜索排名靠前
  • 网站制作模板北京24小时最新国际新闻
  • wordpress 邮件服务器青岛seo网站排名优化
  • 环保行业网站建设seo推广沧州公司电话
  • 新顶级域名做网站营销策划方案怎么写
  • flash 网站引导页百度关键词挖掘
  • 可以做长页的网站网络推广方案的基本思路
  • 做电脑系统哪个网站让顾客进店的100条方法
  • 辽宁高端网站建设深圳网站设计公司排行