C++系统教程001

news2024/11/15 11:18:21

1. 安装 Dev-C++编程软件
2. 熟悉 Dev-C++的界面
3. cout 输出语句的使用
4. 学会 C++程序的编译运

一、认识编译器

我们平时所说的程序,一般指双击后就可以直接运行的程序,这样的程序又称为可执行程序。Windows系统下,可执行程序的后缀一般为.exe。
可执行程序的内部是一系列计算机指令和数据的集合,它们都是二进制形式的,CPU可以直接识别。但我们使用C、C++、Java、Python等高级语言编写的程序(又称为源代码),对于开发人员来说更易理解,但CPU却无法识别(CPU只认识几百个二进制形式的指令)。这时就需要一个工具,将这些源代码转换成CPU能够识别的二进制指令,即将其“翻译”成.exe可执行程序。

翻译的工具就是编译器。翻译过程就是编译。

二、开发C++程序

编辑、编译、连接、运行。

(1)编辑

编辑就是在C++开发工具中输入代码,然后将其保存为.cpp源文件的过程。

编辑代码,并将其保存为Sample.cpp源文件。

(2)编译

编译就是将代码源文件(.cpp文件)编译成目标文件(.obj文件)的过程。

编写好代码后,在任一款C++开发工具中单击“编译”按钮,系统将自动对代码进行编译,得到Sample.obj文件

(3)连接

连接是将编译后的目标文件连接生成可执行程序的过程,就是将.obj和lib库文件连接成.exe可执行程序(lib库是编译好的提供给开发者使用的目标模块)​。

在有多个源文件的工程中,例如有.cpp、成多个目标模块01.obj、02.obj、03.obj,链接器会将程序涉及的目标模块连接成可执行程序

(4)运行

运行是执行.exe可执行程序的过程,执行程序后可得到程序运行。运行是执行.exe可执行程序的过程,执行程序后可得到程序结果

三、辅助软件

编辑器:用来编写代码,并给不同代码着色,以方便阅读。

代码提示器:输入部分代码,即可提示全部代码,提升代码的编写效率。

调试器:观察程序的每一个运行步骤,发现程序的逻辑错误。

项目管理工具:对程序涉及的所有资源进行管理,包括源文件、图片、视频、第三方库等。

漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便。

这些工具通常会打包在一起,统一进行发布、下载和安装。它们被统称为C++集成开发环境(IDE),常见的有Visual C++ 6.0、VisualStudio、Dev C++、Xcode、C-Free、Code::Blocks、Eclipse等。

介绍工具

1.Visual C++ 6.0

Visual C++ 6.0曾经是最经典的C/C++编译工具,是微软VisualStudio集成开发环境中的一员。目前,微软官方已不再对其进行技术支持和维护。该工具体积小巧,操作简单,对计算机配置要求不高,而且免费,所以目前仍有第三方开发者在进行维护,部分院校在使用它。

2.Visual Studio 2022Visual Studio是目前较流行的Windows应用程序的商业集成开发环境,其最新版本是2022版。它功能强大,在编译速度上有很大提升;缺点是空间和资源占用大,安装包有2~3GB,对计算机的配置要求较高,而且操作比较复杂。对于初学者来说,很多功能会暂时用不到。Visual Studio 2022支持C++最新标准规范,支持托管程序的编译和Web Service,更适合大型商业程序的开发。

3.Dev-C++Dev-C++是Windows系统下轻量级的C/C++集成开发环境,是将Linux系统的GCC/G++运用到Windows系统后的产物。它遵循C++11标准,同时兼容C++ 98标准。Dev-C++功能简洁,易于学习和使用,非常适合初学者和教学使用

根据个人的情况选择一个即可。初期学习编程,最重要的是理解语法,弄清C++的内在机理,并通过大量训练培养编程思维,最后再通过一些大型项目积累实战经验。

本次主要以Dev-c++编译器为主。

四、C++工程项目文件

数据是以文件的形式存储在磁盘上的,不同类型的文件有着不同的扩展名。

C++代码文件分为源文件头文件两类。

头文件

以.h为扩展名,仅包含程序片段或定义的常量、变量等,为程序提供接口;

源文件

以.cpp为扩展名,提供了程序的主体实现。有的开发环境使用cxx、cHH作为源文件的扩展名。对一个比较大的工程而言,其源文件和头文件可能比较多。为了管理它们,编译器提供了管理代码的工程项目文件。不同开发环境下的工程项目文件通常会有所不同。

(1)Dev-C++的工程项目文件

 main.cpp:源文件。.

Sample.dev:工程文件。

Makefile.win:make程序执行时使用的文件,用于自动编译源代码文件。

main.o:编译后的目标文件。

Sample.exe:连接后生成的程序。

五、使用Dev C++创建程序

Dev C++是Windows系统下C/C++的集成开发环境,包括多页面窗口、工程编辑器以及调试器等。工程编辑器中集合了编辑器、编译器、链接程序和执行程序,提供高亮语法显示,以减少编辑错误。Dev C++是免安装的,适合初学者与编程高手的不同需求,是学习C或C++的首选开发工具。

1.了解Dev C++主界面

Dev C++主界面由菜单栏、工具栏、项目资源管理器视图、程序编辑区、编译调试区和状态栏组成,

2.创建Hello World程序

(1)双击Dev C++

安装目录下的文件,启动Dev C++,然后选择“文件”→“新建”→“源代码”命令,新建一个C++源代码文件。

(2)编写程序代码

选择“运行”→“编译运行”命令,或按F11键,或单击图标,运行C++程序。

(3)选择“文件”→“保存”命令或按Ctrl+S快捷键,在“保存为”对话框中设置文件保存位置和文件名称,单击“保存”按钮,保存文件。注意为便于阅读代码,读者可自行设置屏幕的背景颜色和文字颜色。右击标题栏,在弹出的快捷菜单中选择“属性”命令,打开“属性”对话框,在“颜色”选项卡中设置即可。

拥有自由就必须时刻保持警惕!(要实际进行操作的友友)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】手动实现栈的封装

完成了以下功能的封装 目录 代码实现&#xff1a; 输出结果如下&#xff1a; 代码实现&#xff1a; #include <iostream> #include <cstring>using namespace std;class Static { private:int *arr; //动态分配栈int top; //指向栈顶元素i…

Docker中的容器内部无法使用vi命令怎么办?

不知道你是否遇到过,在修改容器内部的配置的时候,有时候会提示vi命令不可用。尝试去安装vi插件,好像也不是很容易,有什么办法可以帮助我们修改这个配置文件呢? 解决办法 这时候,我们就需要用到docker cp 命令了,它可以帮助我们把容器内部的文件复制到宿主机上,也可以将…

深入探究 RocketMQ:分布式消息中间件的卓越之选》

《深入探究 RocketMQ&#xff1a;分布式消息中间件的卓越之选》 一、引言 在当今复杂的网络通讯环境中&#xff0c;传统的 Http 请求同步方式存在诸多弊端。当客户端与服务器进行通讯时&#xff0c;客户端必须等待服务端完成处理后返回结果才能继续执行&#xff0c;这种同步调…

万字详解 Redis

1 Redis 是什么 1.1 定义 Redis是一种开源的、基于内存的数据结构存储系统&#xff0c;可以用作数据库、缓存、消息队列等。它支持多种数据结构&#xff0c;如字符串&#xff08;String&#xff09;、哈希&#xff08;Hash&#xff09;、列表&#xff08;List&#xff09;、集…

黑马点评2——商户查询缓存(P37店铺类型查询业务添加缓存练习题答案)redis缓存、更新、穿透、雪崩、击穿、工具封装

文章目录 什么是缓存&#xff1f;添加Redis缓存店铺类型查询业务添加缓存练习题 缓存更新策略给查询商铺的缓存添加超时剔除和主动更新的策略 缓存穿透缓存空对象布隆过滤 缓存雪崩解决方案 缓存击穿解决方案基于互斥锁方式解决缓存击穿问题基于逻辑过期的方式解决缓存击穿问题…

DrissionPage设置启动浏览器为edge

1.查看浏览器启动路径 在浏览器地址栏输入下面地址&#xff0c;拿到可执行文件的路径 。 edge://version/ 2.替换路径 打开DrissionPage._configs. chromium_options.py文件&#xff0c;找到def browser_path(self)这个函数&#xff0c;将返回内容替换为edge的启动路径&#x…

xacro->urdf->pdf

在ROS 2系统中&#xff0c;要将xacro文件转换为PDF文件&#xff0c;可以按照以下步骤操作&#xff1a; 步骤1&#xff1a;将Xacro文件转换为URDF文件 首先&#xff0c;需要将xacro文件转换为urdf文件。可以使用ROS 2提供的xacro工具来完成这个转换。 ros2 run xacro xacro p…

6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)

目录 一.堆(Heap)的基本介绍 二.堆的常用操作&#xff08;以小根堆为例&#xff09; 三.实现代码 3.1 堆结构定义 3.2 向下调整算法* 3.3 初始化堆* 3.4 销毁堆 3.4 向上调整算法* 3.5 插入数据 3.6 删除数据 3.7 返回堆顶数据 四.下篇内容 1.堆排序 2.TopK问题 一…

案例-KVM+GFS分布式存储系统构建KVM高可用(虚拟化实战)

NFS GlusterFS 基于共享存储 采用GFS做共享存储&#xff1b; 实验环境&#xff1a;101 102 103 104 做gfs集群&#xff1b;201 202做虚拟机&#xff1b; 同步一下会话&#xff1b; 为了方便使用主机名进行通信&#xff0c;修改hosts文件&#xff1b; 为了使用GlusterFS的仓库…

国内独家首发 | OpenCSG开源中文版fineweb edu数据集

01 背景 近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术&#xff0c;特别是自然语言处理&#xff08;NLP&#xff09;的飞速发展深刻影响着各个行业。从智能客服到内容生成&#xff0c;从语音识别到翻译工具&#xff0c;NLP的应用已经无处不在。在这一领域中&…

[线程]JUC中常见的类 及 集合类在多线程下的线程安全问题

文章目录 一. JUC中常见的类1. Callable接口2. ReentrantLock3. Semaphore 信号量4. CountDownLatch 二. 集合类在多线程下的线程安全问题多线程下使用ArrayList多线程下使用哈希表(重要) 下面介绍的内容是面试中常考, 但是实际开发中用不到的知识 一. JUC中常见的类 JUC : ja…

『功能项目』主角身旁召唤/隐藏坐骑【20】

本章项目成果展示 我们打开上一篇19坐骑UI搭建及脚本控制显/隐的项目&#xff0c; 本章要做的事情是在坐骑UI界面点击召唤及隐藏坐骑的功能 首先在外包中拖拽一个坐骑熊的预制体 完全解压缩 重命名为MountBear 在资源文件夹Resources下的/预制体文件夹Prefabs下新建坐骑文件夹…

海外合规|新加坡网络安全认证计划简介(三)-Cyber Trust

一、 认证简介&#xff1a; Cyber Trust标志是针对数字化业务运营更为广泛的组织的网络安全认证。该标志针对的是规模较大或数字化程度较高的组织&#xff0c;因为这些组织可能具有更高的风险水平&#xff0c;需要他们投资专业知识和资源来管理和保护其 IT 基础设施和系统。Cy…

新质生产力人工智能+系列5-智能业务识别研究(含任务、数据、算力资源)

在新质生产力高质量发展的要求下&#xff0c;中国移动在“人工智能”和 “数据要素X”方面不断发力&#xff0c;持续发布高质量电信数据集。围绕网元智能、运维智能、服务智能三大方向建设&#xff0c;涵盖无线信道、基站、云网、核心网、哑资源等多领域&#xff0c;支持感知、…

护工系统|护工陪护系统|护工小程序

在医疗服务行业日新月异的今天&#xff0c;陪护机构正乘着数字化转型的东风&#xff0c;扬帆远航&#xff0c;其中&#xff0c;护工系统的引入无疑为其插上了一对强劲的翅膀&#xff0c;引领着行业向更加高效、精细化的方向迈进。这一系统不仅是对传统陪护模式的深刻重塑&#…

oracle物理存储结构文件详解

文章目录 oracle物理文件结构图① 控制文件&#xff1a;② 数据文件&#xff1a;③ 联机Redo日志文件&#xff1a;④ 参数文件&#xff1a;⑤ 归档文件&#xff1a;⑥ 密码文件&#xff1a; oracle物理文件结构图 Oracle数据库的物理结构由控制文件&#xff08;Control f…

硬件工程师笔试面试知识器件篇——电容

目录 电容 2.1、基础 电容原理图 电容实物图 2.1.1、定义 2.1.2、原理 2.1.3、电容的类型 分类1: 分类2: 2.1.4、电容的应用 2.2、相关问题 2.2.1、电容器的电容值如何测量 2.2.2、不同类型的电容器在实际应用中有那些具体差异 2.2.3、如何选择合适的电容器来满…

OrangePi AIpro 香橙派 昇腾 Ascend C 算子开发 与 调用 - Tiling实现 2

OrangePi AIpro 香橙派 昇腾 Ascend C 算子开发 与 调用 - Tiling实现 2 flyfish 前置知识 1 前置知识 2 Host侧CPU和Device侧NPU的主要区别 不同的硬件资源 CPU是为了执行通用计算任务而设计的&#xff0c;但在处理大量的并行计算&#xff08;如矩阵乘、批数据处理&#…

智能优化算法-北方苍鹰优化算法(NGO)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 北方苍鹰优化算法 (Northern Goshawk Optimizer, NGO) 是一种基于群体智能的元启发式优化算法&#xff0c;它模拟了北方苍鹰&#xff08;Northern Goshawk&#xff09;的捕食行为、领地行为以及社交互动&#x…

input系统之InputDispatcher

往期文章&#xff1a; Input系统之IMS的启动流程 input系统之InputReader 1.概述 InputReader和InputDispatcher是Input系统的重要组成部分&#xff0c;InputReader主要负责从设备节点获取原始输入事件&#xff0c;并将封装好的事件交给InputDispatcher&#xff1b;InputDis…