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

国外免费做网站软件快速搭建网站模板

国外免费做网站软件,快速搭建网站模板,桐乡网站设计,wordpress思源字体C 是一种灵活的语言#xff0c;所以需要一种积极的方法来分析和减少编译时依赖。一种常见的达到这个目的的方法是#xff0c;将依赖从头文件里转移到源代码文件里。实现这个目的的方法叫做提前声明。 简而言之#xff0c;这些声明告诉编译器某个函数接受和返回哪些参数 是一种灵活的语言所以需要一种积极的方法来分析和减少编译时依赖。一种常见的达到这个目的的方法是将依赖从头文件里转移到源代码文件里。实现这个目的的方法叫做提前声明。 简而言之这些声明告诉编译器某个函数接受和返回哪些参数而具体的定义则规定了具体的行为。让我们根据下面两种规则来改进编译时长并减少可移植性问题并且使用 include-what-you-use 这种自动应用这些规则到你的代码库的工具。 1、提前声明类型以加速编译速度 为了改进编译时间尽可能地用提前类型声明来代替#include 指令。例如 #include iostream #include a.hpp #include b.hppclass MyClass {A a_; B* b_;public:B foo(std::string arg); };std::ostream operator(std::ostream out, const MyClass obj);编译器如果需要知道它的大小或者接口那么只需要知道它的类型的定义。而对于B 来说则不是任何类型的指针或者引用的大小都是一样的。所以这里的 include可以被提前声明替代。 编译器也不需要知道 std::string 和 std::ostream 的类型因为它们是模板可能带有其它未知的默认的模板类型参数因此我们不能提前声明它们。幸运的是头文件 为 std::ostream 提供了提前声明。即使std::ostream 的定义是需要的 仅仅提供了它的定义而没有输入流或者是 std::cinstd::cout 等等。 改进的文件仅需要以下 include 指令和提前声明 #include iosfwd #include a.hpp class B; /​code/​pre这可以让生成的文件小很多。 原则尽可能使用类型提前声明但是有外部类型的时候需要特别注意。 2、可移植性问题 如果头文件 A 包含了头文件 B那么你在包含头文件 A 的时候也会获得 B 的定义。这可能会引起一些细微的关于标准库的问题。除了某些例外并没有定义哪些头文件包含了哪些。 为了改进编译时间当需要某些特性的声明时很多编译器实现包含了一些私有头文件而不是超大的公有头文件。所以当你意外地依赖某些间接包含的头文件你的代码可能因为没有包含某些头文件而无法在别的编译器上成功编译。 这也是前一个例子里讲到的代码没有包含 string 头文件。在我的平台上这段代码依然可以编译因为 stream 头文件隐式地包含了但在别的平台则不一定。 原则将你要用到的头文件包含进来。如果你需要一个声明包含相应的头文件。即使最后你的代码里有重复的包含指令多谢头文件guard 指令这也没什么问题。 3、Include-what-you-use 好消息是你不用自己手动来执行这两条原则。有一个对应的工具include-what-you-useIWYUhttps://include-what-you-use.org 这是一个 Google 开发的基于 clang 的工具用于执行这两个原则尽可能地将包含指令替换为提前声明如果依赖简介包含则添加相应的包含指令。 从源代码编译或者从网上下载预编译二进制文件后你可以轻松地将它与 make 或者 CMake 一起使用。如果使用 make你只需要将 CXX 变量设置为 IWYU如果是 CMake 则设置好 CMAKE_CXX_INCLUDE_WHAT_YOU_USE 选项。请查看它们的文档获取更多详细信息。你也可以手动执行它接受跟 clang 一样的参数。 然后它会给你列出将会对每个文件做出的更改。例如根据我们之前举例的文件它会得出如下结果 header.hpp should add these lines: #include // for string class B; header.hpp should remove these lines: – #include “b.hpp” // lines 6-6 The full include-list for header.hpp: #include // for ostream #include // for string #include “a.hpp” // for A class B; 除此之外还有一个 python 脚本 fix_includes.py。如果你将 IWYU 的输出作为参数给它执行它会将这些更改立即执行。 原则偶尔将 IWYU 运行于你的代码。它会改进编译时间和解决可移植性问题。 4、30倍的超快编译加速是什么样的 提前声明只能提供有限的改进。现在越来越多的公司面临着在高峰时段增加计算能力的需求和更快地响应市场的压力。现在我们可以在高峰时期进行繁重的编译任务并且加速你的软件开发时间而不需要改变代码或者增添额外硬件。 通过将任务分布在网络中的本地机器或者是虚拟机上并且无缝地运行Incredibuild 的创新解决方案可以为耗时的任务进行加速例如编译、测试和其它。 欢迎点击了解 Incredibuild 加速 C/C 构建编译的解决方案并获取试用 License
http://www.hkea.cn/news/14547720/

相关文章:

  • 兰州做网站开发wordpress主题无法创建目录
  • 做海关授权的网站阿里邮箱和WordPress
  • 旅游网站建设参考文献做学校网站的内容
  • 网站头部设计代码遵义在线遵义晚报
  • 免费的行情软件网站在线使用专做餐饮的网站
  • 滨河网站建设知道抖音视频是怎么做的网站嘛
  • 焦作公司做网站在线看seo网站
  • 南宁区建设银行招聘网站仿 手机 网站模板html
  • 有不花钱做网站成都最新热门事件
  • 网站营销竞价推广外包
  • 网站用视频做背景广州影视制作公司
  • 视频网站弹幕怎么做免费插画素材网站
  • 动画网站制作大气企业网站源码
  • 加强网站制度建设网站制作优化济南
  • 青海门户网站建设移动互联网开发实践
  • 做民宿上几家网站好网络规划师多少分合格
  • 风控网站开发兰州网站建设设计
  • 怎么建立一个网站好传媒公司骗人套路
  • 酒店网站建设方案策划书哪家网站建设比较好
  • 宁波做公司网站公司微网站建设步骤
  • 天津制作网站公司h5模板免费下载
  • 专业做网站较好的公司广州天津微信网站开发
  • 500m网站昆明利于优化的网站
  • seo网站导航建设技巧建设门户网站特点
  • 嘉兴网站建设品牌升级信息化建设 网站
  • 廊坊网站关键词优化网站优化怎么做ppt
  • 重庆城乡建设部网站首页上海市住房和城乡建设厅网站首页
  • 公司装修费会计分录seo外包公司多吗
  • 做植物网站全网营销推广系统
  • html5网站建设源码简单flash网站模板