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

如何运行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++ 的轻量级、免费替代品时,没有充分的理由使用过时或不受支持的编译器。

相关文章:

如何运行C/C++程序

一、在线运行C/C 码曰 - 让代码在云端多飞一会:这是一个支持C/C,Java,Python等多种语言的在线编程,编译运行,粘贴分享的平台。你可以在这里输入你的代码,点击运行按钮,就可以看到输出结果。你也…...

HTML中input标签的23种type类型

一、概述 随着html5的出现,input标签新增了多种类型,用以接收各种类型的用户输入。其中传统输入控件有10种,新增输入控件有13种。 二、传统类型 传统输入控件有10种,如下所示 text 定义单行文本输入框 password 定义…...

接口多态与方法多态

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 在上一篇设计山寨版Str…...

js小技巧|如何提取经过Function函数混淆了的代码

关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除! 1.需求 星友发过来一个混淆代码,打开一看,长这…...

【GitLab】流水线入门

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…...

es 中文前缀短语匹配(搜索智能补全)

需求:es进行前缀匹配,用来进行智能补全 过程:es正常的prefix只能进行词语匹配,而中文的分词大部分按字分词,不按语义分词,所以无法搜索出正确的前缀匹配,而能进行短语匹配的match_phrase_prefix…...

机器学习之决策树及随机森林

决策树 概念 决策树(Decision Tree)是一种常见的机器学习算法,用于分类和回归任务。它是一种树状结构,其中每个内部节点表示一个特征或属性,每个分支代表一个决策规则,而每个叶节点表示一个输出标签或值。 构建决策树过程 构建决策树的过程通常涉及以下步骤: 数据准…...

用通俗的方式讲解Transformer:从Word2Vec、Seq2Seq逐步理解到GPT、BERT

直到今天早上,刷到CSDN一篇讲BERT的文章,号称一文读懂,我读下来之后,假定我是初学者,读不懂。 关于BERT的笔记,其实一两年前就想写了,迟迟没动笔的原因是国内外已经有很多不错的资料&#xff0…...

数据结构-01-数组

每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。 1-数组的概念和特性 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来…...

甘草书店记: 2023年10月11日 星期三 晴 「做有光的人,照亮他人,也引人同行」

发了两篇《甘草书店记》,书店计划公之于众,收获了不少人的赞扬和鼓励,来自生活中的友人,来自麦田的客户和朋友,来自图书界的同行前辈,也来自商界的同仁。其中,最特别留言来自甘草书店投资方的张…...

让 OpenAI GPT4 出 10 道题测试其他开源大语言模型

让 OpenAI GPT4 出 10 道题测试其他开源大语言模型 1. 中文题目及答案2. 日文题目及答案3. 英文题目及答案 1. 中文题目及答案 数学题:一个矩形的长是10厘米,宽是5厘米,求它的面积。 答案:面积 长 x 宽 10厘米 x 5厘米 50平方厘…...

动态库与静态库

1. 库 是代码的二进制的封装形式 在其他的源代码或库中,可以直接调用库的,但是又看不到它 没有公开源代码 库的这种实现方法有利于模块化 而且只要接口合理 不影响库的使用的 sum.c sum.h int sum(int a,int b) { return ab; } xxx.c 需要使用…...

pdf文件编辑,[增删改查]

pdf文件是投标文件中必不可少的格式,传统的方式先编辑word格式,最后生成pdf,但是有时候需要直接编辑pdf文件,编辑pdf的工具无疑 “adobe acrobat dc”是最好用的之一了 1.把图片文件添加到pdf指定位置,例如把一张图片添…...

如何与LEONI建立EDI连接?

莱尼LEONI是一家为汽车及其他行业提供能源数据管理产品、解决方案及服务的全球供应商。供应链范围从研发生产标准化电缆、特种电缆和数据电缆到高度复杂的布线系统和相关组件。本文将介绍如何与莱尼LEONI建立EDI连接。 什么是EDI? EDI全称Electronic Data Interch…...

算法中的时间复杂度,空间复杂度

一、前言 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别 衡量不同算法之间的优劣主要是通过时…...

Python基础:推导式(Comprehensions)详解

1. 推导式概念 Python推导式(comprehensions)是一种简洁而强大的语法,用于从已存在的数据(列表、元组、集合、字典等)中创建新的数据结构。推导式包括: 列表推导式元组推导式字典推导式集合推导式 2. 列表…...

安防监控视频融合平台EasyCVR定制化页面开发

安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索…...

Roll-A-Ball 游戏

Roll-A-Ball 游戏 1)学习资料 b站视频教程:https://www.bilibili.com/video/BV18W411671S/文档: * Roll-A-Ball 教程(一), * Roll-A-Ball 教程(二)线上体验roll-a-ball成品 * http://www-personal.umich.e…...

医疗影像数据集—CT、X光、骨折、阿尔茨海默病MRI、肺部、肿瘤疾病等图像数据集

最近收集了一大波关于CT、X光等医疗方面的数据集包含骨折、阿尔茨海默病MRI、肺部疾病等类型的医疗影像数据,废话不多说,给大家逐一介绍!! 1、彩色预处理阿尔茨海默病MRI(磁共振成像)图像数据集 彩色预处理阿尔茨海默病MRI(磁共…...

Linux僵死进程及文件操作

1.僵死进程(僵尸进程): 1.僵死进程产生的原因或者条件: 什么是僵死进程? 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程. 简而言之,就是子进程先结束,并且父进程没有获取它的退出码; 那么僵死进程产生的原因或者条件就是:子进…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库&#xff0c;基于 mysql 库改进而来&#xff0c;具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点&#xff1a; 支持 Promise / async-await&#xf…...

在Zenodo下载文件 用到googlecolab googledrive

方法&#xff1a;Figshare/Zenodo上的数据/文件下载不下来&#xff1f;尝试利用Google Colab &#xff1a;https://zhuanlan.zhihu.com/p/1898503078782674027 参考&#xff1a; 通过Colab&谷歌云下载Figshare数据&#xff0c;超级实用&#xff01;&#xff01;&#xff0…...