Visual Studio,第1个hello world,入门C++,分别编译一个可以在Windows和Linux下运行的程序

本人的VxTerm,是在Visual Studio 2022下编写的。

其它的语言工具是不是也可以那么方便的使用,本人并不得而知,至少本人能知道:对于我来说,Visual Studio可以让我觉得C/C++语言非常简单!

一、安装Visual Studio 2022:

自VS2017之后,VS的安装就变得非常的简单,只需要在Visual Studio的官网下载一个安装程序,就可以直接在网上安装完成。由于本人觉得非常没有难度,所以此处不述。自行百度。

二、第1个在Windows中可以运行的C++语言的"Hello world!"

创建新项目:

创建成功后,直接点击:本地Windows调试器,然后就可以得到一个

无意外情况下,就可以看到程序的运行后输入的结果:

编译:调试成功后程序开始运行后,其实就表示程序已经编译成功,在项目设定的输出目录里就已经编译好一个exe程序,找到这个程序双击它就可以运行了。

找到这个程序,双击它,可以看到屏幕一闪,程序运行结束后直接退出了。为了能看清程序运行结果,我们需要在cmd(或Windows11下的终端窗口、PowerShell窗口)中运行:

到这一步,其实没完,因为咱们现在只得到一个debug条件编译下的应用程序,一般的,在debug条件下,编译出来的程序可能是会受到环境组件的限制的,如程序的依赖等,所以,咱们需要把编译方式改成Release条件方式。

在程序的右边,一般都会有一个”解决方案资源管理器“,鼠标右键点项目/属性

在属性页,我们一般需要把”运行库“改成”多线程(/MT)“方式。

平台中的值与主界面中的调试平台的对应设置方式

这些设置值之间的关系,需要充分理解,才能在以后的编写/调试/编译过程中得到预期的结果。

关注我,我将在后续的文章中分享一些相关的经验,互相学习。

三、第1个可以在Linux下运行的C++语言编写的"Hello World!"

VS下可以编写并调用目标的Linux操作系统对程序进行编译,成功后可以得到在目标操作系统中运行的程序。

在此之前,需要准备一个Linux环境。由于本人使用的是Linux虚拟机,以下仅在目标Linux下实现。在Windows11中,也可以非常简单的使用WSL来得到Linux环境,并实现在Windows的Visual Studio编写C++程序然后在Linux下编译运行。

以下假设您已经有了一个可以折腾的Linux环境。

创建新项目:

VS会打开一个向导,引导您如何设置并连接到您的Linux环境中:

在此之前,同时也要求您在您的Linux环境中通过apt等命令安装gcc。

VS其实只是负责协助您编写C++代码,然后把代码编译成为.o文件,完成后会把编译出来的.o文件拷贝到您的Linux环境下,再调用Linux中你安装好的gcc来对你的代码文件进行连接/编译,最终编译成为工程项目中设置的输出文件。

第一次使用之前,VS会打开一个连接Linux的向导,协助您进行第1个连接,后续可以通过菜单中的”工具/选项/搜索 连接”,找到

连接管理器来创建和维护对Linux的连接。

以上操作成功后,转到main.cpp中,修改代码后,点击

然后就可以得到一个在Linux中运行的结果:

同时,您可以在Linux中的相应目录中找到已经编译好的输出文件:

运行它:在此处运行,可能需要使用./Con...这样的方式,否则可能会找不到这个程序。

当您在指定的目录中找到程序并运行成功,恭喜您!

再回过来看看程序代码:

我这里可以看到printf这个函数下面是显示“未定义标识符printf”的错误标识,但其实这个并不影响代码的编译,因为在Linux的环境下,其上面的 #include <cstdio> 这一行代码能被正确识别,并且其中的头文件中也能正确包含有这个函数的定义,所以最终能在Linux环境下正确的被编译成功。

---

陆续的,希望我能整理出来:我为什么能很容易的就凭着一个VS2022,在C/C++完全零基础的情况下,写出来一个自认为真的很复杂的VxTerm。

谢谢支持。

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

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

相关文章

linux性能监控之slabtop

slabtop命令是以实时的方式显示内核slab缓冲区的细节信息&#xff0c;是linux自带的命令 [rootk8s-master ~]# slabtop --helpUsage:slabtop [options]Options:-d, --delay <secs> delay updates-o, --once only display once, then exit-s, --sort <char&…

Maven 插件使用

1.spring-boot-maven-plugin 我们直接使用 maven package &#xff08;maven自带的package打包功能&#xff09;&#xff0c;打包Jar包的时候&#xff0c;不会将该项目所依赖的Jar包一起打进去&#xff0c;在使用java -jar命令启动项目时会报错&#xff0c;项目无法正常启动。…

代码随想录——二叉树的层序遍历Ⅱ(Leetcode107)

题目链接 层序遍历&#xff08;队列&#xff09; /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, Tre…

科技查新中医学科研项目查新点如何确立与提炼?案例讲解

一、前言 医学科技查新包括立项查新和成果查新两个部分&#xff0c;其中医学立项查新&#xff0c;它是指在医学科研项目申报开题之前&#xff0c;通过在一定范围内进行该课题的相关文献检索 ( 可以根据项目委托人的具体要求&#xff0c;进行国内检索或者进行国外检索 ) &#x…

介绍下InnoDB的锁机制?

在InnoDB中&#xff0c;锁可以分为两种级别&#xff0c;一种是共享锁&#xff08;S锁&#xff09;&#xff0c;另一种是排他锁&#xff08;X锁&#xff09;。 共享锁&排他锁 共享锁又称为读锁&#xff0c;由读取操作创建。其他用户可以并发读取数据&#xff0c;但直到所有…

能远程一起观看电影和直播的SyncTV

什么是 SyncTV &#xff1f; SyncTV 是一个允许您远程一起观看电影和直播的程序。它提供了同步观看、剧院和代理功能。使用 SyncTV&#xff0c;您可以与朋友和家人一起观看视频和直播&#xff0c;无论他们在哪里。SyncTV 的同步观看功能确保所有观看视频的人都在同一点上。这意…

C++ BuilderXE 计算程序运行时间精确到毫秒

#include <time.h> // //计算时间 clock_t start,end,dtStart; startclock(); // ProgressBar1->Percent0; // // ProgressBar1->Percenti/DDnum*100; // Application->ProcessMessages(); // //操作完成计时 …

使用Flask构建POST请求的Web应用

文章目录 准备工作创建路由处理POST请求创建表单页面运行应用结论 在Web开发中&#xff0c;处理POST请求是一项常见任务&#xff0c;特别是在构建表单提交、用户注册和数据提交等功能时。Flask是一个简单而强大的Python Web框架&#xff0c;它提供了方便的工具来处理HTTP请求&a…

目标检测算法YOLOv7简介

YOLOv7由Chien-Yao Wang等人于2022年提出&#xff0c;论文名为&#xff1a;《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》&#xff0c;论文见&#xff1a;https://arxiv.org/pdf/2207.02696 &#xff0c;项目网页&#xff…

激光雷达:盲人世界的导航灯塔

在科技日新月异的今天&#xff0c;一项名为“蝙蝠避障”的创新成果&#xff0c;正悄然改变着盲人朋友的日常生活&#xff0c;特别是在出行这一领域&#xff0c;它的应用如同一束光&#xff0c;照亮了前行的道路。本文将深入探讨激光雷达技术对盲人的帮助&#xff0c;揭示这项高…

【JavaWeb】网上蛋糕商城后台-商品管理

概念 本文讲解和实现网上蛋糕商城的后台管理系统中的商品管理功能。 商品列表 点击后台管理系统的head.jsp头部的“商品管理”功能选项&#xff0c;向服务器发送请求/admin/goods_list 因此需要在servlet包中创建AdminGoodsListServlet类&#xff0c;用于获取商品信息列表 …

【赠书活动第4期】《Rust编程与项目实战》

赠书活动 《Rust编程与项目实战》免费赠书 3 本&#xff0c; 收到赠书之后&#xff0c;写一篇 本书某一节内容 的学习博客文章。 可在本帖评论中表示参加&#xff0c;即可获得赠书&#xff0c;先到先得。学习心得博客链接&#xff0c;后面有空发上来。 赠书截止日期为送出3…

elementui的table行展开,左侧的icon有的需要有的不需要

百度了一些方法&#xff0c;都不好用&#xff0c;最后还是纯css解决&#xff0c;以下是效果&#xff1a; 代码实现&#xff1a; :deep(.el-table__row:nth-child(1) .el-table__expand-icon){ display: none; }

《解锁高效合同管理系统:优化业务流程,提升管理效率》

随着企业规模的扩大和业务复杂性的增加&#xff0c;合同管理变得愈发重要。合同是企业与客户、供应商、合作伙伴之间的法律约束和商业承诺&#xff0c;而有效的合同管理系统则成为企业提高运营效率、降低风险的关键工具。本文将探讨合同管理系统的重要性以及如何利用合同管理系…

win10 miniconda始终无法在指定的位置创建虚拟环境,原来是管理员权限问题

当我想用conda创建虚拟环境时 envs_dirs: F:\miniconda3\envsC:\Users\fengx.conda\envsC:\Users\fengx\AppData\Local\conda\conda\envs 创建的虚拟环境始终在C:\Users\fengx.conda\envs\xxxx这个位置下&#xff0c; 我已经明显指定了位置是在F:\miniconda3\envs下&#xff…

MyBatis——模拟MyBatis框架

一、dom4j 解析 XML 文件 在 dom4j 中&#xff0c;DOMReader 和 SAXReader 是两种不同的 XML 解析器。 它们的主要区别在于解析 XML 的方式和所提供的功能&#xff1a; DOMReader&#xff1a; DOMReader 使用 DOM&#xff08;Document Object Model&#xff09;模型来表示整个…

org.hsqldb.jdbcDriver 类,导致 ClassNotFoundException 异常如何解决?

确保JDBC驱动包存在&#xff1a;检查系统是否已经安装了HSQLDB JDBC驱动。如果没有安装或驱动没有正确放置在类路径中&#xff0c;需要下载并添加它。你可以从 HSQLDB官网 下载JDBC驱动包。 添加JDBC驱动到类路径&#xff1a;将下载的HSQLDB JDBC驱动&#xff08;通常是一个JA…

基于STM32F401RET6智能锁项目(使用库函数点灯、按键)

点灯硬件原理图 1、首先&#xff0c;我们查看一下原理图&#xff0c;找到相对应的GPIO口 LED_R低电平导通&#xff0c;LED4亮&#xff0c;所以LED_R的GPIO口需要配置一个低电平才能亮&#xff1b; LED_G低电平导通&#xff0c;LED3亮&#xff0c;所以LED_R的GPIO口需要配置一…

解决常见的Android问题

常见问题&#xff1a; 1、查杀&#xff1a; 查杀一般分为两个方向一种是内存不足的查杀&#xff0c;一种的是因为温度限频查杀&#xff0c;统称为内存查杀&#xff0c;两个问题的分析思路不同 1、内存不足查杀&#xff1a; 主要是因为当用户出现后台运行多个APP或者是相机等…

AE 电源 DC 80 kW PulsarAccessory User ManualMay 20055703041-C说明数

AE 电源DC 80 kW Pulsar Accessory User ManualMay20055703041C说明