巫师3配置要求解析析

科目三考试项目和操作要求详解来源:责任编辑:歆漾
&&&&想要了解科目三考试项目和操作要求吗?想要知道科目三操作要求的注意要点吗?今天的科目三考试项目和操作要求就为您解除心中的困惑。让您了解更全面的科目三考试项目和操作要求。  科目三作为拿驾照的最后一个关卡,让许多人在考试前都非常紧张。因为一旦不过,就无法顺利拿到驾照。所以今天小编为大家详细讲解一下科目三考试项目和操作要求。希望能够给大家一些启示。
  一、上车准备起步
  一切从这里开始,上车准备这一项目中,要求上车前要从驾驶室按照逆时针方向检查:轻拍轮胎检查轮胎气压是否正常、车门是否关紧、引擎下方(就是车发动机的地方)有无漏油、漏水、漏汽等,检查完引擎准备上车前必须做好观察前后来车的动作,确认安全后才能开门上车,上车后必须系好安全带,起步必须先打左转向灯,车载电子监控系统都对这些规定进行设定,一旦忽略,将导致不及格。
  二、定点泊车
  定点泊车项目,一共有3个位置,可以选任意一个位置停,要求把车停在框内,车身不能压线,需要提醒注意的是,如果车身右侧压边线大于30厘米,将直接不合格,停车后挂空档拉手刹,等电脑报通过此科目后再挂档松手刹打转向灯起步。切记不要熄火。
  三、直线行驶
  直线行驶中,要求考生必须开足300米的路程,车子左右摇摆幅度不得超过15度等。在以往的科目三考试中,没有如此明确的规定。
  在进入直线行驶前把车靠到最右边车道来,考试从黄色实线开始,到300米外的黄色虚线结束。
  四、通过学校
  学校路段的考试要领是减速慢行,注意路况。接前面直线行驶考试过了路口的红绿灯右转弯后先会遇到的斑马线,通过后就到通过校区考试路段了,注意电脑提示和路上的指示牌。
  五、超车
  超车路段从黄色实线开始到黄色虚线结束,中间有一小块&黄色网格区&代表你要超的车,从慢车道进入,电脑提示超车,要打转向灯,看后视镜确认安全后才可以超车,就是绕过&黄色网格区&,然后回到慢车道行驶,直到通过黄色虚线。速度越快越好。
  六、掉头
  第6个考试项目&掉头&时,会首先看到右侧的提示标志牌&&&掉头路段&,同时地面也有掉头标线。需要提醒学员的是,可掉头的共有2处,相隔约10米,考生要注意依次掉头,不要抢道&&根据评判标准,如果&掉头地点选择不当&,将直接&不合格&。此外,掉头时,要注意避让他车,因为如果&妨碍正常行驶的其他车辆和行人通行&,你也将直接被判&不合格&。
  1、公路调头的要求:要求学员①要做到选择路段,可掉头的共有2处,相隔约10米,考生要注意依次掉头,不要抢道。注意:如果当时是在右车道请换到左车道后再决定掉头,②动作要用一档低速进行。
  2、操作要领:①要踏刹车减速②开启左转向灯③看左后视镜确认安全后方可调头。注意:如果在右车道要先变更到左车道。
  七、变更车道
  变更车道从黄色实线开始,到黄色虚线结束:要求学员对速度的控制和对&三把方向&的应用。
  黄色实线开始,黄色虚线结束。
  变更车道的要领:当电脑发出变更车道的口令后学员有3秒的反应时间,①开启左转向灯②看左后视镜确认安全后方可变更!③轻推方向盘向左切入(不要过多或过急,要注意&三把方向&的应用)变更车道后行驶50米左右方可变更回慢车道,或者在快车道继续行驶。
  八、通过公交站
  当行驶至学校路口和公交车站的时候应当减速慢行,别紧张到这里后面已经没有什么难度了,做到一看二慢三通过就行。
  九、通过人行横道线
  通过路口时,要做到、降低车速,注意观察,如果此时速度超过30公里,地面的感应钉会有所感应,将直接判定该考生&不合格&;还有到路口要注意的是观察左右来车,头要左右转动的观察,动作要做出来,考官在监控室通过车上的探头能看到你的,所以还是摇摇你的头吧!
  十、通过路口
  通过路口要注意路口红绿灯,考试过程中,考生将共遇到两次红绿灯,这两处的处理有所不同。
  第3个考试项目&直线行驶&结束后,考生必须随着导向箭头,进入右转弯车道,考生随后会在路口遇到第一个红绿灯,如果这时是红灯亮,并不影响考生右转弯继续考试。
  第二处红绿灯出现在快结束的第10个项目&通过路口&后的左转弯路口,其实它就是第3个考试项目&直线行驶&结束后遇到的那个红绿灯,现在又遇到它了,我们现在要绕回去是左拐弯所以如果是红灯亮,考生必须停车等待。
  要注意的是等红灯的时候不能超过路口,也就是我们平常路口的白线,过要扣分的。绿灯后左转要跟着地上的白色实线走,不要切太大弧度。
  把车开到左车道来,遇红灯在白线前停车等。
  十一、会车
  这是最后一个项目了,恭喜你成功在望了,红绿灯过后左转就进入会车区了此时路口变窄要看地上的白色箭头标线行驶(如果遇到夜间考试须切换2次远近光灯警示来车注意)不要占道不要压中间的黄色实线就可以了,接着把车停到&停车区&拉好手刹挂空档,交回号牌,领取成绩单签字,考试结束退场。
  大家看到最后,会发现这之中少了夜间行驶这一项目,因为小编在此分析的是白天考试的情况。所以若是想要了解夜间行驶这一项目的要点及注意事项,大家可以关注本网其他的技巧介绍。
众悦网原创,转载请注明出处(
的资讯? ? ? ?
准备学车Ready to learn to drive
开始学车Start to learn to drive
领取驾照Receive driver's license
新手上路Newbie
关于 科目三考试项目和操作要求详解
的评论 共 2 条
VIP版  车型:C1 C2
普通版  车型:C1 C2
全国通用版  2014年新版
全国通用版  车型:A1 A3 B1
全国通用版  车型:A2 B2
全国通用版  车型:D E F
航兴驾校其他资讯?????????
[]浏览29647评论0[]浏览18230评论0[]浏览6244评论0
[]播放63661评论1[]播放1518评论0[]播放13589评论0
? ? ? ? ? ? ? ? ? ? ?
ㄧ 技术支持与报障:  对本站有任何建议、意见,。
网友评论仅供网友表达个人看法,并不表明众悦学车网同意其观点或证实其描述。&>>&&>>& >>
高级领导人行为准则规范解析:范围或包括七常委
日 08:50&来源:新京报即时新闻&&
今年是建党94周年。在昨天的“2015中国共产党与世界对话会”上,中央党校原副校长李君如透露:十八大以来的反腐中,周永康、徐才厚、令计划、苏荣等高层领导出问题,让中央开始研究并思考怎样管好掌握党和国家高层权力的党员干部。中央正在研究制定高级领导人的行为准则规范。
  今年是建党94周年。在昨天的&2015中国共产党与世界对话会&上,中央党校原副校长李君如透露:十八大以来的反腐中,周永康、徐才厚、令计划、苏荣等高层领导出问题,让中央开始研究并思考怎样管好掌握党和国家高层权力的党员干部。中央正在研究制定高级领导人的行为准则规范。
  &政事儿&发现,建党94年来,对高级领导干部制定专门的行为准则规范,这还是第一次。那么在这部规定出台之前,中央如何管理这些高级领导干部呢?首部专门针对高级领导人的行为准则规范,具体会给哪些高级领导人立规矩呢?
  要给哪些高级领导人&立规矩&?
  据媒体报道,在&2015中国共产党与世界对话会&上,李君如回应有关高层垄断权力腐败的提问时说:中央正就周永康、徐才厚、令计划、苏荣这样一些高级领导人层面的案件进行研究和思考。
  &思考的结果是:'中国要出问题,就出在共产党内','办好中国的事,关键在党',这也都是邓小平说过的话。&李君如说,现在一个严峻的考验是:掌握着党和国家高层权力的党员出问题,谁来查处?
  李君如介绍,目前中央正在研究,怎样管好2000多名省部级领导,怎样管好200多名中央委员、中央纪委委员,怎样管好20多名政治局委员、7名常委。
  按照李君如透露的信息,研究制定的首部高级领导人行为准则规范,其中的&高级领导人&不仅包括省部级官员,应该还包括中央政治局常委、中央政治局委员等党和国家领导人。
  国家行政学院教授许耀桐接受政事儿&政事儿&采访时说,什么级别的官员是&高级领导人&,现行党内法规、文件没有明确划杠。不过,1979年印发的《中共中央、国务院关于高级干部生活待遇的若干规定》,确定的高级干部范围是省委书记、副书记、常委,省人大常委主任、副主任,省人民政府省长、副省长,省政协主席、副主席等,&也就是说,副省级以上的领导干部,都是高级领导干部&。
  许耀桐表示,初步统计,全国目前在岗的副省级以上领导干部约5000多人,&这5000多名高级领导干部也有区别,比如有的是享受副省级以上待遇,但是不担任具体的副省级以上职务。专门针对高级领导干部制定行为准则规范,应该会对这样的情况加以区分,才能更好地体现'管好掌握党和国家高层权力的官员'这个主题&。
  之前如何管&高级领导人&?
  许耀桐强调,&之前虽然没有专门针对高级领导人制定专项的行为准则规范,但是对'高级领导人'的管理并不是空白点,一些党内法规都有要求&。
  &政事儿&查阅党章明确规定:&加强对党的领导机关和党员领导干部特别是主要领导干部的监督&。许耀桐表示,&这条规定体现出的是越高级别的领导干部越要加强监督,越高级别的领导干部越要严格要求。《中国共产党纪律处分条例》、《党内监督条例》、《党员领导干部廉洁从政若干准则》、《关于实行党政领导干部问责的暂行规定》等适用于所有党员干部的规章,虽然没有特别提到'高级领导人',但都是遵循'越高级别越严格'这一原则&。
  许耀桐对&政事儿&说,十八大后贯彻实施的八项规定、六条禁令等新规,&其中也没有特别提到'高级领导人',不过中央领导多次强调,高级领导干部应该带头垂范&。
  &文革&结束后,中央首先就高级干部的待遇问题立规矩。1979年印发的《中共中央、国务院关于高级干部生活待遇的若干规定》,明确&一户高级干部的宿舍使用面积一般不超过120平方米&、&部长以上干部每人配备专车一辆&等。
  十八大后,中央再次规范高级干部的待遇问题。2013年底,全国政协常委、复旦大学教授葛剑雄接受采访时透露,他提交的关于&制定离任国家领导人礼仪规定,明确退休官员待遇&的提案,已经得到答复。提案承办单位在答复函中称:根据中央的统一部署,目前有关部门正在对省部级干部生活待遇规定进行修订,党和国家领导人生活待遇规定也正在由相关部门研究修订。
  此外,《保守国家秘密法》实施后,中共中央保密委员会于1990年12月制定了《关于高级干部保守党和国家秘密的规定》,要求高级干部&不在无保密保障的场所阅办秘密文件、资料&、&不在家属、亲友、熟人和其他无关人员面前谈论党和国家秘密&等。
  许耀桐认为,首部专门针对高级领导人制定的行为准则规范,会集纳之前分散在不同党内规章中的各类规定,并提出新要求,&会围绕领导干部的一些重要权力,比如在干部选拔方面的人事权,在重大项目、重大资金方面的决策权,制度具体的行为流程规范。政商问题,高级领导人如何跟商人打交道,也会有所要求。十八大以来,一直强调从严治党,从严治党更重要的是制度治党。制定高级领导人行为准则规范,就是制度治党的具体表现&。
  习近平多次释放给高级领导人&立规&信号
  &政事儿&注意到,十八大以来,习近平多次强调要对高级领导干部加强管理,释放了要给高级领导人&立规&的信号。
  日,在十八届中央政治局第一次集体学习上,习近平强调:各级领导干部特别是高级干部要自觉遵守廉政准则,既严于律己,又加强对亲属和身边工作人员的教育和约束,决不允许以权谋私,决不允许搞特权。
  其后不久,日的中央政治局会议审议中央政治局关于改进工作作风、密切联系群众的八项规定,八项规定开始实施。
  去年6月30日,中央政治局就加强改进作风制度建设进行第十六次集体学习。习近平强调,加强党的建设,必须营造一个良好从政环境,也就是要有一个好的政治生态。营造良好从政环境,要从各级领导干部首先是高级干部做起。
  去年10月18日,在党的群众路线教育实践活动总结大会上,习近平首次对党内高层干部落马公开表态:&一些干部包括一些相当高层次的领导干部因违犯党纪国法落马,我们很痛心。我们中央的同志说起这些事都很痛心,都有一种恨铁不成钢的感觉。&
  去年11月,在新古田会议上,习近平首提徐才厚案时强调,必须正视军队建设特别是思想政治建设方面存在的突出问题,特别要高度重视和严肃看待徐才厚案件,深刻反思教训,彻底肃清影响。加强和改进新形势下我军政治工作,当前要重点抓好&着力抓好高中级干部管理&等5个方面。
网友有话说
版权与免责声明:
①凡本网注明"来源:深港在线综合"的所有作品,均由本网编辑搜集整理,并加入大量个人点评、观点、配图等内容,版权均属于深港在线,未经本网许可,禁止转载,违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,我们将在您联系我们之后24小时内予以删除,否则视为放弃相关权利。公共域名解析系统安全技术要求
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
公共域名解析系统安全技术要求
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Protocol Buffer技术详解(语言规范) - Stephen_Liu - 博客园
深入浅出、事半功倍
posts - 180, comments - 712, trackbacks - 0, articles - 0
&&&&& 该系列Blog的内容主体主要源自于Protocol Buffer的官方文档,而代码示例则抽取于当前正在开发的一个公司内部项目的Demo。这样做的目的主要在于不仅可以保持Google文档的良好风格和系统性,同时再结合一些比较实用和通用的用例,这样就更加便于公司内部的培训,以及和广大网友的技术交流。需要说明的是,Blog的内容并非line by line的翻译,其中包含一些经验性总结,与此同时,对于一些不是非常常用的功能并未予以说明,有兴趣的开发者可以直接查阅Google的官方文档。&& && 一、为什么使用Protocol Buffer?&& && 在回答这个问题之前,我们还是先给出一个在实际开发中经常会遇到的系统场景。比如:我们的客户端程序是使用Java开发的,可能运行自不同的平台,如:Linux、Windows或者是Android,而我们的服务器程序通常是基于Linux平台并使用C++开发完成的。在这两种程序之间进行数据通讯时存在多种方式用于设计消息格式,如:&& && 1. 直接传递C/C++语言中一字节对齐的结构体数据,只要结构体的声明为定长格式,那么该方式对于C/C++程序而言就非常方便了,仅需将接收到的数据按照结构体类型强行转换即可。事实上对于变长结构体也不会非常麻烦。在发送数据时,也只需定义一个结构体变量并设置各个成员变量的值之后,再以char*的方式将该二进制数据发送到远端。反之,该方式对于Java开发者而言就会非常繁琐,首先需要将接收到的数据存于ByteBuffer之中,再根据约定的字节序逐个读取每个字段,并将读取后的值再赋值给另外一个值对象中的域变量,以便于程序中其他代码逻辑的编写。对于该类型程序而言,联调的基准是必须客户端和服务器双方均完成了消息报文构建程序的编写后才能展开,而该设计方式将会直接导致Java程序开发的进度过慢。即便是Debug阶段,也会经常遇到Java程序中出现各种域字段拼接的小错误。&& && 2. 使用SOAP协议(WebService)作为消息报文的格式载体,由该方式生成的报文是基于文本格式的,同时还存在大量的XML描述信息,因此将会大大增加网络IO的负担。又由于XML解析的复杂性,这也会大幅降低报文解析的性能。总之,使用该设计方式将会使系统的整体运行性能明显下降。&& && 对于以上两种方式所产生的问题,Protocol Buffer均可以很好的解决,不仅如此,Protocol Buffer还有一个非常重要的优点就是可以保证同一消息报文新旧版本之间的兼容性。至于具体的方式我们将会在后续的博客中给出。&& && 二、定义第一个Protocol Buffer消息。&& && 创建扩展名为.proto的文件,如:MyMessage.proto,并将以下内容存入该文件中。&& && message LogonReqMessage {& && &&&& required int64 acctID = 1;&& & & && required string passwd = 2;&& && }&& && 这里将给出以上消息定义的关键性说明。&& && 1. message是消息定义的关键字,等同于C++中的struct/class,或是Java中的class。&& && 2. LogonReqMessage为消息的名字,等同于结构体名或类名。&& && 3. required前缀表示该字段为必要字段,既在序列化和反序列化之前该字段必须已经被赋值。与此同时,在Protocol Buffer中还存在另外两个类似的关键字,optional和repeated,带有这两种限定符的消息字段则没有required字段这样的限制。相比于optional,repeated主要用于表示数组字段。具体的使用方式在后面的用例中均会一一列出。&& && 4. int64和string分别表示长整型和字符串型的消息字段,在Protocol Buffer中存在一张类型对照表,既Protocol Buffer中的数据类型与其他编程语言(C++/Java)中所用类型的对照。该对照表中还将给出在不同的数据场景下,哪种类型更为高效。该对照表将在后面给出。&& && 5. acctID和passwd分别表示消息字段名,等同于Java中的域变量名,或是C++中的成员变量名。&& && 6. 标签数字1和2则表示不同的字段在序列化后的二进制数据中的布局位置。在该例中,passwd字段编码后的数据一定位于acctID之后。需要注意的是该值在同一message中不能重复。另外,对于Protocol Buffer而言,标签值为1到15的字段在编码时可以得到优化,既标签值和类型信息仅占有一个byte,标签范围是16到2047的将占有两个bytes,而Protocol Buffer可以支持的字段数量则为2的29次方减一。有鉴于此,我们在设计消息结构时,可以尽可能考虑让repeated类型的字段标签位于1到15之间,这样便可以有效的节省编码后的字节数量。&& && 三、定义第二个(含有枚举字段)Protocol Buffer消息。& & & //在定义Protocol Buffer的消息时,可以使用和C++/Java代码同样的方式添加注释。&& && enum UserStatus {&& && & & OFFLINE = 0;& //表示处于离线状态的用户&& &&&&&& ONLINE = 1;&& //表示处于在线状态的用户&& && }&& && message UserInfo {&& && & & required int64 acctID = 1;&& &&& && required string name = 2;&& &&& && required UserStatus status = 3;&& && }&& && 这里将给出以上消息定义的关键性说明(仅包括上一小节中没有描述的)。&& && 1. enum是枚举类型定义的关键字,等同于C++/Java中的enum。&& && 2. UserStatus为枚举的名字。&& && 3. 和C++/Java中的枚举不同的是,枚举值之间的分隔符是分号,而不是逗号。&& && 4. OFFLINE/ONLINE为枚举值。&& && 5. 0和1表示枚举值所对应的实际整型值,和C/C++一样,可以为枚举值指定任意整型值,而无需总是从0开始定义。如:&& && enum OperationCode {&& && & & LOGON_REQ_CODE = 101;&& &&&&&& LOGOUT_REQ_CODE = 102;&& &&&&&& RETRIEVE_BUDDIES_REQ_CODE = 103;&& &&& &&& && LOGON_RESP_CODE = 1001;&& &&& && LOGOUT_RESP_CODE = 1002;&& &&& && RETRIEVE_BUDDIES_RESP_CODE = 1003;&& && }&& && 四、定义第三个(含有嵌套消息字段)Protocol Buffer消息。&& && 我们可以在同一个.proto文件中定义多个message,这样便可以很容易的实现嵌套消息的定义。如:&& && enum UserStatus {&& && & & OFFLINE = 0;&& &&&&&& ONLINE = 1;&& && }&& && message UserInfo {&& && & & required int64 acctID = 1;&& &&& && required string name = 2;&& &&& && required UserStatus status = 3;&& && }&& && message LogonRespMessage {&& && & & required LoginResult logonResult = 1;&& &&& && required UserInfo userInfo = 2;&& && }&& && 这里将给出以上消息定义的关键性说明(仅包括上两小节中没有描述的)。&& && 1. LogonRespMessage消息的定义中包含另外一个消息类型作为其字段,如UserInfo userInfo。&& && 2. 上例中的UserInfo和LogonRespMessage被定义在同一个.proto文件中,那么我们是否可以包含在其他.proto文件中定义的message呢?Protocol Buffer提供了另外一个关键字import,这样我们便可以将很多通用的message定义在同一个.proto文件中,而其他消息定义文件可以通过import的方式将该文件中定义的消息包含进来,如:&&&&& import "myproject/CommonMessages.proto" & && 五、限定符(required/optional/repeated)的基本规则。& & & 1. 在每个消息中必须至少留有一个required类型的字段。 && && 2. 每个消息中可以包含0个或多个optional类型的字段。&& && 3. repeated表示的字段可以包含0个或多个数据。需要说明的是,这一点有别于C++/Java中的数组,因为后两者中的数组必须包含至少一个元素。&& && 4. 如果打算在原有消息协议中添加新的字段,同时还要保证老版本的程序能够正常读取或写入,那么对于新添加的字段必须是optional或repeated。道理非常简单,老版本程序无法读取或写入新增的required限定符的字段。&& && 六、类型对照表。
.proto Type
Uses variable-length encoding. Inefficient for encoding negative numbers & if your field is likely to have negative values, use sint32 instead.
Uses variable-length encoding. Inefficient for encoding negative numbers & if your field is likely to have negative values, use sint64 instead.
Uses variable-length encoding.
Uses variable-length encoding.
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.&
Always four bytes. More efficient than uint32 if values are often greater than 228.&
Always eight bytes. More efficient than uint64 if values are often greater than 256.
Always four bytes.
Always eight bytes.
A string must always contain UTF-8 encoded or 7-bit ASCII text.
May contain any arbitrary sequence of bytes.
ByteString
&& && 七、Protocol Buffer消息升级原则。&& && 在实际的开发中会存在这样一种应用场景,既消息格式因为某些需求的变化而不得不进行必要的升级,但是有些使用原有消息格式的应用程序暂时又不能被立刻升级,这便要求我们在升级消息格式时要遵守一定的规则,从而可以保证基于新老消息格式的新老程序同时运行。规则如下:&& && 1. 不要修改已经存在字段的标签号。&& && 2. 任何新添加的字段必须是optional和repeated限定符,否则无法保证新老程序在互相传递消息时的消息兼容性。&& && 3. 在原有的消息中,不能移除已经存在的required字段,optional和repeated类型的字段可以被移除,但是他们之前使用的标签号必须被保留,不能被新的字段重用。&& && 4. int32、uint32、int64、uint64和bool等类型之间是兼容的,sint32和sint64是兼容的,string和bytes是兼容的,fixed32和sfixed32,以及fixed64和sfixed64之间是兼容的,这意味着如果想修改原有字段的类型时,为了保证兼容性,只能将其修改为与其原有类型兼容的类型,否则就将打破新老消息格式的兼容性。&& && 5. optional和repeated限定符也是相互兼容的。&& && 八、Packages。&& && 我们可以在.proto文件中定义包名,如:&& && package ourproject.&& && 该包名在生成对应的C++文件时,将被替换为名字空间名称,既namespace ourproject { namespace lyphone。而在生成的Java代码文件中将成为包名。&& && 九、Options。&& && Protocol Buffer允许我们在.proto文件中定义一些常用的选项,这样可以指示Protocol Buffer编译器帮助我们生成更为匹配的目标语言代码。Protocol Buffer内置的选项被分为以下三个级别:&& && 1. 文件级别,这样的选项将影响当前文件中定义的所有消息和枚举。&& && 2. 消息级别,这样的选项仅影响某个消息及其包含的所有字段。&& && 3. 字段级别,这样的选项仅仅响应与其相关的字段。&& && 下面将给出一些常用的Protocol Buffer选项。&& && 1. option java_package = "panyname.projectname";&& && java_package是文件级别的选项,通过指定该选项可以让生成Java代码的包名为该选项值,如上例中的Java代码包名为panyname.projectname。与此同时,生成的Java文件也将会自动存放到指定输出目录下的com/companyname/projectname子目录中。如果没有指定该选项,Java的包名则为package关键字指定的名称。该选项对于生成C++代码毫无影响。&& && 2. option java_outer_classname = "LYPhoneMessage";&& && java_outer_classname是文件级别的选项,主要功能是显示的指定生成Java代码的外部类名称。如果没有指定该选项,Java代码的外部类名称为当前文件的文件名部分,同时还要将文件名转换为驼峰格式,如:my_project.proto,那么该文件的默认外部类名称将为MyProject。该选项对于生成C++代码毫无影响。&& && 注:主要是因为Java中要求同一个.java文件中只能包含一个Java外部类或外部接口,而C++则不存在此限制。因此在.proto文件中定义的消息均为指定外部类的内部类,这样才能将这些消息生成到同一个Java文件中。在实际的使用中,为了避免总是输入该外部类限定符,可以将该外部类静态引入到当前Java文件中,如:import pany.project.LYPhoneMessage.*。&& && 3. option optimize_for = LITE_RUNTIME;&& && optimize_for是文件级别的选项,Protocol Buffer定义三种优化级别SPEED/CODE_SIZE/LITE_RUNTIME。缺省情况下是SPEED。&& && SPEED: 表示生成的代码运行效率高,但是由此生成的代码编译后会占用更多的空间。&& && CODE_SIZE: 和SPEED恰恰相反,代码运行效率较低,但是由此生成的代码编译后会占用更少的空间,通常用于资源有限的平台,如Mobile。&& && LITE_RUNTIME: 生成的代码执行效率高,同时生成代码编译后的所占用的空间也是非常少。这是以牺牲Protocol Buffer提供的反射功能为代价的。因此我们在C++中链接Protocol Buffer库时仅需链接libprotobuf-lite,而非libprotobuf。在Java中仅需包含protobuf-java-2.4.1-lite.jar,而非protobuf-java-2.4.1.jar。&& && 注:对于LITE_MESSAGE选项而言,其生成的代码均将继承自MessageLite,而非Message。&& &&& && 4. [pack = true]: 因为历史原因,对于数值型的repeated字段,如int32、int64等,在编码时并没有得到很好的优化,然而在新近版本的Protocol Buffer中,可通过添加[pack=true]的字段选项,以通知Protocol Buffer在为该类型的消息对象编码时更加高效。如:&& && repeated int32 samples = 4 [packed=true]。&& && 注:该选项仅适用于2.3.0以上的Protocol Buffer。&& && 5. [default = default_value]: optional类型的字段,如果在序列化时没有被设置,或者是老版本的消息中根本不存在该字段,那么在反序列化该类型的消息是,optional的字段将被赋予类型相关的缺省值,如bool被设置为false,int32被设置为0。Protocol Buffer也支持自定义的缺省值,如:&&&&& optional int32 result_per_page = 3 [default = 10]。&& & 十、命令行编译工具。&& && protoc --proto_path=IMPORT_PATH --cpp_out=DST_DIR --java_out=DST_DIR --python_out=DST_DIR path/to/file.proto&& && 这里将给出上述命令的参数解释。&& && 1. protoc为Protocol Buffer提供的命令行编译工具。&& && 2. --proto_path等同于-I选项,主要用于指定待编译的.proto消息定义文件所在的目录,该选项可以被同时指定多个。&& && 3. --cpp_out选项表示生成C++代码,--java_out表示生成Java代码,--python_out则表示生成Python代码,其后的目录为生成后的代码所存放的目录。&& && 4. path/to/file.proto表示待编译的消息定义文件。&& && 注:对于C++而言,通过Protocol Buffer编译工具,可以将每个.proto文件生成出一对.h和.cc的C++代码文件。生成后的文件可以直接加载到应用程序所在的工程项目中。如:MyMessage.proto生成的文件为MyMessage.pb.h和MyMessage.pb.cc。}

我要回帖

更多关于 dns智能解析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信