如何运行C/C++程序

一、在线运行C/C++

  1. 码曰 - 让代码在云端多飞一会:这是一个支持C/C++,Java,Python等多种语言的在线编程,编译运行,粘贴分享的平台。你可以在这里输入你的代码,点击运行按钮,就可以看到输出结果。你也可以将你的代码保存为一个链接,或者生成一个二维码,方便与他人分享。
  2. C 在线工具 | 菜鸟工具这是一个专门为C语言设计的在线工具,提供了在线编译运行,代码格式化,代码转换,代码测试等功能。你可以在这里输入你的C代码,选择你的输入数据,然后点击运行按钮,就可以看到输出结果。你也可以将你的代码格式化为标准的风格,或者转换为其他语言,如Java,Python等。
  3. 在线运行C++(GCC 7.4.0):这是一个提供C++在线运行,C++ 在线编译工具的网站,基于linux操作系统环境提供线上编译和线上运行。你可以在这里输入你的C++代码,选择你的编译选项,然后点击运行按钮,就可以看到输出结果。你也可以查看你的代码的编译信息,如编译时间,编译器版本,编译命令等。
  4. Wandbox这是一个支持多种编程语言 * 多个编译器版本在线编译运行的网站。你可以在这里输入你的代码,选择你的语言和编译器,然后点击运行按钮,就可以看到输出结果。你也可以在这里做方便、快速地一些小实验、尝试一些编程语言的新特性,比如 C++20。

  5. Quick C++ Benchmarks这是一个可以快速对一些 C++ 代码片段进行 benchmark 并可视化显示出来的工具。你可以在这里输入你的C++代码,选择你的编译器和优化选项,然后点击运行按钮,就可以看到你的代码的运行时间和内存占用等指标。你也可以比较不同的代码片段的性能差异,或者与其他用户的代码进行对比。支持多个版本的 clang 和 gcc背后用的应该是 GitHub - google/benchmark: A microbenchmark support library 这个开源库,你也可以在自己的机器上安装这个库。

  6. Compiler Explorer支这是一个支持将 C++ 代码编译成汇编代码的工具。你可以在这里输入你的C++代码,选择你的编译器和编译选项,然后点击编译按钮,就可以看到你的代码对应的汇编代码。你也可以选择不同的 CPU 平台(x86-64、MIPS、ARM 等),查看不同的指令集和寄存器。

  7. C++ Build Benchmarks这是一个可以测试、比较不同 C++ 代码的编译开销(CPU、内存、I/O)的工具。你可以在这里输入你的C++代码,选择你的编译器和编译选项,然后点击编译按钮,就可以看到你的代码的编译时间和资源消耗等指标。你也可以比较不同的代码的编译开销,或者与其他用户的代码进行对比。

  8. C++ Insights这是一个主要用于看代码编译展开后的具体情况的工具,是个学习 C++ 模板时不错的辅助工具。你可以在这里输入你的C++代码,选择你的编译器和编译选项,然后点击展开按钮,就可以看到你的代码展开后的详细内容。你也可以查看你的代码的抽象语法树,或者与原始代码进行对比。

  9. cpp.jsrun.net 在线c++交互式控制台运行,

二、VScode安装插件运行

对于 Windows 用户

十分钟搭建VScode C/C++运行环境-CSDN博客

对于Linux用户

应使用发行版的包管理器下载 VS Code。适用于 Linux 的 VS Code 说明涵盖了如何针对各种 Linux 发行版执行此操作。

安装 VS Code 后,请按照有关如何为 linux 配置 C++ 的说明进行操作。

三、在linux环境中运行

1.直接使用WSL

学习的话推荐使用微软的WSL。不用安装虚拟机,不会那么卡顿,我使用的版本是Ubuntu 18.04.5 on Windows,大家根据需要自行搜索下载配置

2.vscode+WSL

命令行和vi编辑器不熟练可以用这个,同时vscode中使用WSL可以省去配置vscode的烦恼

四、Visual Studio(适用于 Windows)

占用内存较大,如果磁盘空间和/或下载大小是一个挑战,Microsoft 不再支持该产品,并且它不具备许多较新的 C++ 语言功能,因此我们仅建议无法安装 Visual Studio Community 的用户使用它。

五、要避免的 IDE

您应该完全避免使用以下 IDE,因为它们至少不支持 C++11、根本不支持 C++,或者不再积极支持或维护:

  • Borland Turbo C++ -- 不支持 C++11
  • Visual Studio for Mac——不支持 C++
  • Dev C++——未积极支持

当存在支持现代 C++ 的轻量级、免费替代品时,没有充分的理由使用过时或不受支持的编译器。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【shell】多行重定向与免交互expect与ssh、scp的结合使用

目录 一、多行重定向 举例1:使用read命令接收用户的输入值会有交互过程 举例2:设置变量的值 举例3:创建用户密码 举例4:使用多行重定向写入文件中(以repo文件举例) 举例5:变量设定 二、免…

微信小程序开发——开发账号注册与配置

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 概述 本文的重点在于介绍注册微信小程序开发账号的步骤及其流程。 账号注册 请点击官方网站右上角的 https://mp.weixin.qq.com/ 立即注册,图示如下&#xf…

【C++ Primer Plus学习记录】while循环

while循环是没有初始化和更新部分的for循环,它只有测试条件和循环体: while(test-condition)dody 首先,程序计算圆括号内的测试条件表达式。如果该表达式为true,则执行循环体内的语句。与for循环一样,循环体也由一条…

RPC之grpc重试策略

1、grpc重试策略 RPC 调用失败可以分为三种情况: 1、RPC 请求还没有离开客户端; 2、RPC 请求到达服务器,但是服务器的应用逻辑还没有处理该请求; 3、服务器应用逻辑开始处理请求,并且处理失败; 最后一种…

计算机网络高频面试八股文

目录: 网络分层结构三次握手两次握手可以吗?四次挥手第四次挥手为什么要等待2MSL?为什么是四次挥手?TCP有哪些特点?说说TCP报文首部有哪些字段,其作用又分别是什么?TCP和UDP的区别?…

Python入门学习篇(四)——if详解

if详解 1 单项分支 1.1 语法结构 if 条件:逻辑代码(条件为真时执行的代码) # 注: 如果条件不满足,那么则不执行if下面的逻辑代码1.2 示例代码 username input("请输入您的用户名: ") if username "admin":print("管理员登录成功")1.3 运行…

KMP算法【数据结构】

KMP算法 KMP算法是一种改进的字符串匹配算法 Next[j] k :一个用来存放子串返回位置的数组,回溯的位置用字母k来表示。其实就是从匹配失败位置,找到他前面的字符串的最大前后相等子串长度。默认第一个k值为-1(Next[0] -1),第二个k值为0(Next[1] 0),我…

蓝桥杯物联网竞赛_STM32L071_5_串口接收发送数据

理论: 串口采取异步通信,即不依赖时钟节拍来接收或发送数据,而是采用互相约定的波特率传输数据。 波特率与单位时间传输的比特数有关,波特率越大传输的数据越多 传输一个比特花费的时间T 1 / 比特率 接受和发送数据的时候需要…

MOM系统功能清单

什么是MOM系统? MOM系统是制造运营管理(Manufacturing Operation Management)的缩写。它是指通过协调管理企业的人员、设备、物料和能源等资源,把原材料或零件转化为产品的活动。MOM系统集成了生产计划、库存管理、生产调度、质量…

Java中关于ArrayList集合的练习题

目录 题目内容​编辑 完整源码 题目内容 根据下图所示数据,定义学生类Student,设置对应的字段并进行封装在Test中,定义ArrayList集合 ,将上述学生对象实例化,并放入集合,定义方法t1,参数为学生类集合&am…

基于SpringBoot的手机官方商城系统

基于SpringBoot的手机官方商城系统 摘要:随着电子商务的发展,网上购物已成为人们普遍的购物方式。与此同时,网上支付也得到了迅速的发展,大有赶超传统支付的趋势。在今天这个信息化程度高、生活节奏快的现代社会,传统…

Unity 关于生命周期函数的一些认识

Unity 生命周期函数主要有以下一些: Awake(): 在脚本被加载时调用。用于初始化对象的状态和引用。 OnEnable(): 在脚本组件被启用时调用。在脚本组件被激活时执行一次,以及在脚本组件被重新激活时执行。 Reset(): 在脚本组件被重置时调用。用于重置脚本…

PCF8591多通道数据读取异常问题

问题描述 PCF8591在循环读取两个通道时,两个通道数据出现交错问题。 例如我们想实现:第一次读取通道一、第二次读取通道二、第三次读取通道一、第四次读取通道二……依次循环 但实际数据:第一次读取的值为0x80、第二次读取的值为通道一的值、…

文件操作在 Python 中的基本用法

更多资料获取 📚 个人网站:ipengtao.com 文件操作是任何编程语言中都至关重要的一部分,Python 提供了简单而强大的文件操作功能,使得读取、写入和处理文件变得非常便捷。本文将详细介绍 Python 中文件操作的基本用法,…

Python自动化测试学习路线【进阶必看】

软件自动化测试的学习步骤 大概步骤如下: 1. 做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform -> 4. 学习自动化测试工具 ->5. …

数组中的第 K 个最大元素(C++实现)

数组中的第 K 个最大元素 题目思路代码 题目 数组中的第 K 个最大元素 思路 通过使用优先队列(最大堆)来找到数组中第k大的元素。通过弹出最大堆中的前k-1个元素,留下堆中的顶部元素作为结果返回。 代码 class Solution { public:int find…

python基于YOLOv7系列模型【yolov7-tiny/yolov7/yolov7x】开发构建钢铁产业产品智能自动化检测识别系统

在前文的项目开发实践中,我们已经以钢铁产业产品缺陷检测数据场景为基准,陆续开发构建了多款目标检测模型,感兴趣的话可以自行阅读即可。 《YOLOv3老矣尚能战否?基于YOLOv3开发构建建钢铁产业产品智能自动化检测识别系统&#xf…

高等数学零基础篇复习笔记

预备章 零基础高等数学入门知识 第一节 集合、运算与关系 第二节 三角函数与反三角函数 三角函数的公式 反三角函数 第三节 常见不等式及数列 划重点 第一章 函数、极限与连续 第一节 函数及函数的初等特性 特殊函数 反函数 函数的初等特性 ①有界性 ②奇偶性 偶函数图像…

【Python 训练营】N_11 模拟进度条

题目 格式化输出进度条,具体格式如下: 分析 需要格式化打印,进度条随时间显示进展,需要用time模块的sleep()函数。 答案 import time # 导入time模块 length 100 # 定义进度长度模块 for i in range(1,length1): # 遍历1&…

ubuntu配置ssh

本教程中的涉及路径的所有命令都是在root用户下的,读者可将路径中的/root更改为/home/用户名 1、重置密码 新安装的系统需要在服务器控制台点击“重置密码”,为root用户设置一个密码 ————————————————————————————————…