iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >如何搭建C++开发环境
  • 938
分享到

如何搭建C++开发环境

2023-06-17 17:06:43 938人浏览 八月长安
摘要

本篇内容主要讲解“如何搭建c++开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建C++开发环境”吧!1.我们先来看看内联函数给我们带来的好处:从一个用户的角度来看,内联函数看起来和

本篇内容主要讲解“如何搭建c++开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建C++开发环境”吧!

1.我们先来看看内联函数给我们带来的好处:从一个用户的角度来看,内联函数看起来和普通函数一样,它可以有参数和返回值,也可以有自己的作用域,然而它却不会引入一般函数调用所带来的负担。另外,它可以比宏更安全更容易调试。

当然有一点应该意识到,inline specifier仅仅是对编译器的建议,编译器有权利忽略这个建议。那么编译器是如何决定函数内联与否呢?一般情况下关键性因素包括函数体的大小,是否有局部对象被声明,函数的复杂性等等。

2.那么如果一个函数被声明为inline但是却没有被内联将会发生什么呢?理论上,当编译器拒绝内联一个函数的时候,那个函数会像普通函数一样被对待,但是还会出现一些其他的问题。例如下面这段代码:

// filename Time.h   #include<ctime>   #include<iOStream>   using namespace std;   class Time   {   public:   inline void Show() { for (int i = 0; i<10; i++) cout<<time(0)<<endl;}   };

因为成员函数Time::Show()包括一个局部变量和一个for循环,所以编译器一般拒绝inline,并且把它当作一个普通的成员函数。但是这个包含类声明的头文件会被单独的#include进各个独立的编译单元中:

// filename Time.h   #include<ctime>   #include<iostream>   using namespace std;   class Time   {   public:   inline void Show() { for (int i = 0; i<10; i++) cout<<time(0)<<endl;}   };


程序被链接的时候,linker将会面对两个相同的Time::Show()拷贝,于是函数重定义的连接错误发生。但是老一些的C++实现对付这种情况的办法是通过把一个un-inlined函数当作static来处理。

因此每一份函数拷贝仅仅在自己的编译单元中可见,这样链接错误就解决了,但是在程序中却会留下多份函数拷贝。在这种情况下,程序的性能不但没有提升,反而增加了编译和链接时间以及最终可执行体的大小。
但是幸运的是,新的C++标准中关于un-inlined函数的说法已经改变。

一个符合标准C++实现应该只生成一份函数拷贝。然而,要想所有的编译器都支持这一点可能还需要很长时间。
另外关于内联函数还有两个更令人头疼的问题。

***个问题是该如何进行维护。一个函数开始的时候可能以内联的形式出现,但是随着系统的扩展,函数体可能要求添加额外的功能,结果内联函数就变得不太可能,因此需要把inline specifier去除以及把函数体放到一个单独的源文件中。

另一个问题是当内联函数被应用在代码库的时候产生。当内联函数改变的时候,用户必须重新编译他们的代码以反映这种改变。然而对于一个非内联函数,用户仅仅需要重新链接就可以了。

这里想要说的是,内联函数并不是一个增强性能的灵丹妙药。只有当函数非常短小的时候它才能得到我们想要的效果。但是如果函数并不是很短而且在很多地方都被调用的话,那么将会使得可执行体的体积增大。

到此,相信大家对“如何搭建C++开发环境”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何搭建C++开发环境

本文链接: https://www.lsjlt.com/news/291397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何搭建C++开发环境
    本篇内容主要讲解“如何搭建C++开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建C++开发环境”吧!1.我们先来看看内联函数给我们带来的好处:从一个用户的角度来看,内联函数看起来和...
    99+
    2023-06-17
  • ubuntu如何搭建c语言开发环境
    要在Ubuntu上搭建C语言开发环境,您可以按照以下步骤进行操作:1. 安装编译器:打开终端,运行以下命令安装gcc编译器和make...
    99+
    2023-08-29
    ubuntu c语言
  • 如何搭建vue.js开发环境
    这篇文章将为大家详细讲解有关如何搭建vue.js开发环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue.js开发环境搭建教程分享,具体内容如下1、安装node.js...
    99+
    2024-04-02
  • 如何搭建Scala开发环境
    这篇文章主要介绍了如何搭建Scala开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Scala基于Java平台,所以Scala开发环境很容易搭建。看了下面的介绍,你会对...
    99+
    2023-06-17
  • 如何搭建Java开发环境
    这篇“如何搭建Java开发环境”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何搭建Java开发环境”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。...
    99+
    2023-06-26
  • Jspxcms开发环境如何搭建
    本文小编为大家详细介绍“Jspxcms开发环境如何搭建”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jspxcms开发环境如何搭建”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Jspxcms开发环境使用ecli...
    99+
    2023-06-26
  • git开发环境如何搭建
    这篇文章主要介绍“git开发环境如何搭建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“git开发环境如何搭建”文章能帮助大家解决问题。一、安装 GitGit 的安装方式有多种,下面介绍两种常用的方式...
    99+
    2023-07-05
  • Angular如何搭建开发环境
    这篇文章给大家分享的是有关Angular如何搭建开发环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Angular 是一款开源 JavaScript 框架,由Google 维护...
    99+
    2024-04-02
  • golang如何开发环境搭建
    搭建步骤:1、在Golang官方网站上下载适合操作系统的安装包;2、按照官方文档或安装指南的说明,执行安装程序进行安装;3、将Golang的安装路径添加到系统的PATH环境变量中;4、在计算机上创建一个用于存放Golang项目的工作目录;5...
    99+
    2023-12-15
    Golang 环境搭建
  • php开发环境如何搭建
    要搭建PHP开发环境,您需要按照以下步骤进行操作: 安装Web服务器:您可以选择Apache、Nginx等常见的Web服务器。根据...
    99+
    2023-10-25
    php
  • JBPM开发环境如何搭建
    要搭建JBPM的开发环境,需要以下几个步骤:1. 安装Java JDK:首先要确保机器上已安装Java JDK,并设置好JAVA_H...
    99+
    2023-09-11
    JBPM
  • Python开发环境如何搭建
    小编给大家分享一下Python开发环境如何搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Python解释器 安装Windows平台下载地址 https:/...
    99+
    2023-06-15
  • linux开发环境如何搭建
    要搭建Linux开发环境,可以按照以下步骤进行:1. 选择Linux发行版:根据自己的需求和偏好,选择适合的Linux发行版,如Ub...
    99+
    2023-08-17
    linux
  • 如何搭建flutter开发环境
    学习Flutter,首先需要搭建好Flutter的开发环境,下面我将一步步带领大家搭建开发环境并且成功运行flutter项目。 一、系统基本要求 操作系统:windows7以上64位操作系统 git环...
    99+
    2023-09-05
    flutter android android studio 前端框架
  • 如何搭建React Native开发环境
    这篇文章主要为大家展示了“如何搭建React Native开发环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何搭建React Native开发环境”这篇文...
    99+
    2024-04-02
  • 如何搭建opencv4.5.4+VS2022开发环境
    这篇文章给大家分享的是有关如何搭建opencv4.5.4+VS2022开发环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、下载安装Visual Studio进入:Visual Studio2022的官网,点...
    99+
    2023-06-29
  • 如何搭建PHP+MySQL开发环境
    今天小编给大家分享一下如何搭建PHP+MySQL开发环境的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装本地服务器软件安装...
    99+
    2023-07-05
  • 如何搭建Android Studio开发环境
    这篇文章将为大家详细讲解有关如何搭建Android Studio开发环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、安装Android Studio笔者用的计算机配置如下:Mac下安装Android...
    99+
    2023-05-30
    android studio
  • 如何用PyCharm搭建开发环境
    本篇内容介绍了“如何用PyCharm搭建开发环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 下载安...
    99+
    2024-04-02
  • docker如何搭建python开发环境
    要搭建Python开发环境,可以通过Docker容器快速部署一个包含Python环境的开发环境。以下是一个简单的步骤: 安装Do...
    99+
    2024-04-08
    docker python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作