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

施工企业现状长沙网站优化方式

施工企业现状,长沙网站优化方式,做网站表格单边框标记,网站建设资料百度云前言 模板是编程中高级工具#xff0c;类似C语言的宏生成代码#xff0c;但却比宏更强大#xff0c;例如#xff0c;对于调试的支持#xff0c;以及实现更严格的语法检查。 如果用节省代码来定义工具的好坏#xff0c;无疑不管用C语言宏来生成代码#xff0c;或者用C的…前言 模板是编程中高级工具类似C语言的宏生成代码但却比宏更强大例如对于调试的支持以及实现更严格的语法检查。 如果用节省代码来定义工具的好坏无疑不管用C语言宏来生成代码或者用C的模板抑或其它代码生成技术都是非常可取的。 问题 在g中使用到模板相关的引用特别是目标为共享SO库的模块会特别用到到-fno-implicit-templates的编译选项禁止隐式模板实例化来节省编译和链接期的代价详细见官网说明。 根据官网建议对于简单点的场景可以选择在各个需要的模块自行模板实例化以避免链接时出现类似undefined reference to std::vectorchar, std::allocatorchar ::)M_insert_aux(...)的链接异常。 /*declaration*/ #include Foo.h/*implementation*/ #include Foo.cc/*显式实例化模板类*/ template class Fooint;/*显式实例化模板方法*/ template ostream operator (ostream, const Fooint);但我觉得更具工程价值的是官网中建议的big file实施方案原因如下 各个obj模块自行添加显式模板实例化但还是会遇到公共模板实例化需要往big file中增加统一往big file中增加便于维护特别是引用依赖组件的模板例如ACE组件中的模板. 模板显式实例化弊端 模板实例化使用显式实例化的方法有时即使对于简单的STL模板std::vectorchar的实例化操作起来都比较繁琐所以官网建议了 -fno-implicit-templates 选项控制分开编译的策略。 Compile your code with -fno-implicit-templates to disable the implicit generation of template instances, and explicitly instantiate all the ones you use. If you use one big file to do the instantiations, you may want to compile it without -fno-implicit-templates, so you get all of the instances required by your explicit instantiations (but not by any other files) without having to specify them as well. #includeiostream #include vectorint main(void) {std::vectorchar v;v.push_back(a);std::cout Hello World! no-implicit-templates , item: v[0] std::endl;return 0; }对于Big File特别使用隐式实例化的编译脚本 .PHONY: app main clean cleanObjs app: mainvpath %.h . vpath %.cpp .SRC$(wildcard *.cpp) OBJS$(patsubst %.cpp,%.o, $(SRC)) TARGETa.outCCFLAGS:-g3 -O0 -W -Wall -pipe -Wno-unused-variable -Wno-unused-parameter -fno-implicit-templates LDFLAGS:-lstdcmain: $(OBJS)echo Link vector no-implicit-templates test program ...g -pipe $(OBJS) -o $(TARGET) $(LDFLAGS)# depend nested $(OBJS): cleanObjs tmplinst.o:echo Build $ specially for big file ...g $(strip $(subst -fno-implicit-templates, , $(CCFLAGS))) -c $(subst .o,.cpp, $) -o $ %.o: %.cppecho Build $ to $ ...g $(CCFLAGS) -c $ -o $clean: echo Clean all obj target ... rm -rf $(OBJS) $(TARGET)echo Finish clean all obj target ... cleanObjs:echo Clean all objs ... rm -rf $(OBJS)echo Finish clean all objs ... 对于其它编译目标统一使用默认的-fno-implicit-templates选项但对于big file通过编译脚本命令subst 特殊地去除-fno-implicit-templates选项以达到转换成隐式实例化模板的目的 结束语 曾为std::vectorchar在不同的平台奋战过模板显式实例化非常繁琐后期维护起来也非常不方便而且同时在ACE组件的模板显式实例化维护时反复遭遇增加其它依赖的依赖模板显式实例化的修改所以从工程角度来看不如对于big file特别使用隐式实例化 对于有兴趣研究模板实例化过程的同学可以使用全手工模板实例化 官网参考 GCC Template-Instantiation.html
http://www.hkea.cn/news/14283972/

相关文章:

  • 多个wordpress站点同步长春企业网站模板建站
  • 佛山做网站哪家公司最好罗湖商城网站建设哪家服务周到
  • 寿光专业做网站的公司有哪些百度一下网页版
  • 自己做网站的方法3d绘图培训学校
  • 个人导航网站怎么备案微网站和手机网站的区别
  • 智慧团建登录手机版入口企业网站优化官网
  • 国家示范校建设专题网站房屋设计软件app自己设计画图
  • 酷站是什么网站山西网站建设价格
  • 免费一站式网站建设wordpress文章排序id
  • 哈尔滨做网站优化网络推广和优化是什么意思
  • 网站建设10年后的目标国家高新技术企业认定查询官网
  • php网站培训机构企业做网站seo文章是什么
  • 营销型网站与普通网站的比较网站建设柚子网络科技官网
  • 制作服务网站企业宣传册设计与制作
  • 做视频网站的公司有哪些论坛seo招聘
  • 英德网站建设网站建设与管理ppt
  • 小学校园网站建设要求营销型网站的优势
  • 交互型网站网站登陆系统怎么做
  • 网站制作 视频网页编辑软件dreamw
  • 单页网站 营销广告设计模板网站
  • 中国设计网平面设计网抖音seo是什么意思
  • 惠州专业网站建设价格赤峰建筑人才网
  • 做一个网站成本要多少钱湖北建设厅官方网站
  • 东丽做网站哔哩哔哩网页版下载
  • 湖南城乡住房建设厅网站广东产品外观结构设计公司官网
  • 传奇网站如何建设无锡商城网站建设
  • 网站建设员课程wordpress插件王
  • 电子商务网站建设与管理第二版答案丽水网站推广公司
  • asp网站发布ftp网站架构设计师工资水平
  • 重庆家居网站制作公司外贸常用社交网站有哪些