【C++】在线编译器推荐,让你随时随地编写代码

news2024/11/27 16:34:55

▒ 目录 ▒

    • 🛫 问题
      • 描述
      • 环境
    • 1️⃣ 支持调试网站
      • Repl.it
      • OnlineGDB
    • 2️⃣ 不支持调试网站
      • Wandbox
      • json.cn
      • jdoodle
      • tutorialspoint
      • cppshell
      • ideone
      • coliru
      • online-ide
    • 3️⃣ 性能分析网站
      • Quick C++ Benchmark
      • Compare C++ Builds
    • 4️⃣ 其它
      • C++ Insights(学习模板、C++11等新特性的工具)
      • Compiler Explorer(代码编译成汇编)
      • CodeChef (多语言、学习平台)
    • 🛬 结论
    • 📖 参考资料

🛫 问题

描述

文中所有网址,在结论中有汇总。

环境

版本号描述
文章日期2023-06-14
操作系统Win11 - 21H2 - 22000.1335
Python3.7.1
frida.exe15.0.18

1️⃣ 支持调试网站

Repl.it

官网地址: https://repl.it/languages/cpp

  1. 需要登录
  2. 支持shell,也就是说用户完全可以使用该linux服务器。
  3. 支持调试
  4. 支持各种其他工具
  5. 支持项目概念
  6. 有github地址项目
    在这里插入图片描述

OnlineGDB

官网地址: https://www.onlinegdb.com/

  1. 支持多种语言(各种版本C++)
    在这里插入图片描述
  2. 支持调试
    在这里插入图片描述
  3. 运行速度很快!!!

2️⃣ 不支持调试网站

这个就不详细说了,只说一下各个网站的区别点:

  • 是否支持命令行
  • 是否支持不同版本c++语法

Wandbox

官网地址:https://wandbox.org/

  • 支持多种编程语言,多个编译器版本在线编译运行的网站。
  • 可以在这里做方便、快速地一些小实验、尝试一些编程语言的新特性,比如 C++20。
  • 有github
    在这里插入图片描述

json.cn

官网: https://www.json.cn/runcode/run_cpp920/
在这里插入图片描述

jdoodle

在这里插入图片描述

tutorialspoint

在这里插入图片描述

cppshell

在这里插入图片描述

ideone

在这里插入图片描述

coliru

在这里插入图片描述

online-ide

官网:https://www.online-ide.com/online_c++_ide
在这里插入图片描述

3️⃣ 性能分析网站

Quick C++ Benchmark

网站: https://www.quick-bench.com/
作用:分析代码执行效率

  1. 可以快速对一些 C++ 代码片段进行 benchmark 并可视化显示出来。
  2. 支持多个版本的 clang 和 gcc。
  3. 背后用的应该是 google benchmark 这个开源库,你也可以在自己的机器上安装这个库。

示例效果:
在这里插入图片描述

Compare C++ Builds

网站:https://www.build-bench.com/
作用:分析代码编译效率
可以测试、比较不同 C++ 代码的编译开销(CPU、内存、I/O)

示例地址:https://www.build-bench.com/b/47ciR2_jQ0RuAt2fy1Pnk66b3yM。
效果:
在这里插入图片描述

4️⃣ 其它

C++ Insights(学习模板、C++11等新特性的工具)

官网:https://cppinsights.io/
git地址:https://github.com/andreasfertig
主要用于看代码编译展开后的具体情况,是个学习 C++ 模板时不错的辅助工具。

  1. 有各种示例
    在这里插入图片描述
  1. 将C++11等新特性翻译为中间代码,学习新特性必备工具!!!
    在这里插入图片描述

在这里插入图片描述

Compiler Explorer(代码编译成汇编)

官网:https://godbolt.org/

  • 支持将 C++ 代码编译成汇编代码。
  • 支持多种编译器版本多种 CPU 平台(x86-64、MIPS、ARM 等)。
  • 支持各种编译器(包含VS等)
    在这里插入图片描述
    在这里插入图片描述

CodeChef (多语言、学习平台)

  • 需要注册才能使用,适合入门学习
    在这里插入图片描述
  • 没有在线ide用于在线开发C++应用

🛬 结论

工具很多,做了一下简单总结:

在线C++编译工具
优点
缺点
网站地址Github地址所属公司网站运营开始时间
Repl.it支持多种编程语言,可以分享代码需要注册账号onlineonlineRepl.it2011年
OnlineGDB支持调试
支持多种编程语言
有时会出现编译错误onlineOnlineGDB2017年
Wandbox界面简洁,支持多种编程语言有时会出现编译错误onlineonlineMelpon2013年
json.cn国内网站,访问快支持功能少onlineJson.cn2014年
JDoodle支持多种编程语言,可以分享代码有时会出现编译错误onlineJDoodle2017年
TutorialsPoint支持多种编程语言,有教程界面不够友好onlineTutorialsPoint2006年
CPPShell界面简洁,支持多种编程语言有时会出现编译错误onlineCPPShell2018年
Ideone支持多种编程语言,可以分享代码有时会出现编译错误onlineSphere Research Labs2009年
Coliru界面简洁,支持多种编程语言无法保存代码onlineStacked Crooked2012年
CodeChef支持多种编程语言,包括C++
没有IDE
界面不够友好onlineDirecti2009年

📖 参考资料

  • 几个有用的 C++ 在线工具: https://zhuanlan.zhihu.com/p/264573010
  • 在线C++工具(json.cn): https://www.json.cn/runcode/run_cpp920/
  • 在线C++工具(runoob.com): https://c.runoob.com/compile/12/

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

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

相关文章

Java阶段四Day04

Java阶段四Day04 文章目录 Java阶段四Day04关于SLF4j日志框架使用Sql注解关于DAO架构关于Service关于异常 关于SLF4j日志框架 在开发实践中,通常禁止使用System.out.println()这种语句输出信息,主要原因有: 输出效率低下,特别是字…

A fight among three “三国”混战 | 经济学人20230520版社论双语精翻

《经济学人》2023年5月20日封面(社论)文章精翻:《全球支付系统的“三国”混战》(A fight among three) A fight among three “三国”混战 The fight over the future of global payments 全球支付的未来之争 Digital …

函数重载分析

函数重载 (Function Overload) 用同一个函数名定义不同的函数 当函数名和不同的参数搭配时函数的含义不同 函数重载至少满足下面的一个条件: 参数个数不同 参数类型不同 参数顺序不同 上面的两个函数可以构成重载函数吗? 当默认参数遇上函数重载会发…

分布式系统概念和设计——分布式多媒体系统

分布式系统概念和设计 分布式多媒体系统 QoS QoS(Quality of Service,服务质量)是一种网络管理和控制技术,可以对网络流量进行管理和调度,以确保网络对不同类型的数据流的传输可以提供适当的带宽、传输延迟、抖动和可…

《交通规划》——最短路分配方法

《交通规划》——最短路分配方法 说明:下面内容,将用python、networkx实现刘博航、杜胜品主编的《交通规划》P198页的例题,主要是实现最短路径分配方法。 1. 题目描述如下: 2. networkx构建网络 import networkx as nx import …

Spring6 面向切面(AOP)

文章目录 1、场景模拟1.1、声明接口1.2、创建实现类1.3、创建带日志功能的实现类1.4、隐藏问题 2、代理模式2.1、概念2.2、静态代理2.3、动态代理2.4、测试 3、AOP概念及相关术语3.1、概述3.2、相关术语①横切关注点②通知(增强)③切面④目标⑤代理⑥连接…

跨模态检索论文阅读:Dissecting Deep Metric Learning Losses for Image-Text Retrieval(GOAL)

Dissecting Deep Metric Learning Losses for Image-Text Retrieval 剖析图像文本检索中的深度度量学习损失 2022.10 视觉语义嵌入(VSE)是图像-文本检索中的一种流行的应用方法,它通过学习图像和语言模式之间的联合嵌入空间来保留语义的相似性…

2023.06.14 QT day3

用QT实现的简单文本编辑器 头文件widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> #include <QTextEdit> #include <QFont> #include <QFontDialog> #include <QColor> #include <QColorDialo…

C语言符合类型之结构篇(结构指针)

结构相关知识总结 什么是结构&#xff1f;结构的声明与简单使用结构的初始化结构中成员变量的访问结构的初始化器结构数组结构数组的声明结构数组的成员标识 结构的嵌套结构指针结构作为参数在函数中传递将结构成员作为参数进行传递将结构地址(指向结构的指针)作为参数进行传递…

leetcode 279.完全平方数

题目描述 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#xff0c;而 3 和 11 …

cmu db p4

在lab4中实现一个基于 2PL 的并发控制方式&#xff0c;自动为并发事务执行加锁解锁&#xff0c;提供可串行化能力并实现可重复读、读已提交、读未提交三种隔离度 Lock Manager&#xff1a;锁管理器&#xff0c;利用 2PL 实现并发控制。支持 REPEATABLE_READ、READ_COMMITTED 和…

我五年经验,面试官: “不,你是把一年的工作经验用了五年”

最近看到很多软件测试由于公司裁员而需要重新求职的。他们普遍具有4年甚至更长的工作经验。但求职结果往往都不太理想。 我在与部分软件测试求职者交谈的过程中发现&#xff0c;很多人的工作思路不清晰&#xff0c;技能不扎实&#xff0c;没有持续学习的习惯&#xff0c;但对于…

编程(41) ----------线程池

本篇主要提及线程池的相关内容. 依旧是从最基础的含义开始. 什么是线程池? 在计算机中池的是一个很大的概念, 分为很多种. 但无论是什么池, 其核心都是存取相关数据. 线程池也不例外, 即存放线程的池. 其存在意义与线程异曲同工. 线程产生并使用是因为进程太"重"了…

Andriod开发 ViewPager PageTabStrip

1. ViewPager ViewPager常见于APP的引导页或者产品介绍&#xff0c;左右滑动展示不同页面。 ViewPager用PagerAdapter来绑定数据。PagerAdapter是个抽象类&#xff0c;所以需要写一个子类来实现它。 xml: <?xml version"1.0" encoding"utf-8"?> …

设计模式(十五):行为型之命令模式

设计模式系列文章 设计模式(一)&#xff1a;创建型之单例模式 设计模式(二、三)&#xff1a;创建型之工厂方法和抽象工厂模式 设计模式(四)&#xff1a;创建型之原型模式 设计模式(五)&#xff1a;创建型之建造者模式 设计模式(六)&#xff1a;结构型之代理模式 设计模式…

I2C与I3C

Improved Inter Integrated Circuit &#xff0c;是 MIPI&#xff08;Mobile Industry Processor Interface&#xff09;移动产业处理器接口联盟推出的改进型 i2c (Inter-Integrated Circuit Bus)总线接口。 I3C Introduction I3C &#xff1a;Improved Inter Integrated Cir…

CoreDX DDS应用开发指南(10)通信状态Communication Status

13 Communication Status通信状态 DDS基础设施跟踪与数据通信相关的许多状态和统计信息。应用程序可以选择了解这些状态和统计信息中的一些、全部或全部。 每个DDS实体都有其相关状态,如表13-1所示。 一些通信状态与可用于订阅应用程序的数据相关联。这些被称为读取…

Python发展5大方向,5个对应例子让你更清晰的认知Python!

目录 前言1.数据分析相关路线&#xff1a;案例&#xff1a;使用Python进行股票数据分析 2.人工智能学习路线&#xff1a;案例&#xff1a;使用Python进行图像识别 3.Web开发学习路线&#xff1a;案例&#xff1a;使用Python和Django开发博客网站 4.科学计算学习路线&#xff1a…

(小甲鱼python)类和对象(III)总结 类的继承---构造函数、重写、钻石继承、super()函数

一、基础复习 1.类和对象&#xff08;I&#xff09;总结 类的定义、self的用法 2.类的继承(II)、类的判断isinstance()、issubclass()、多重继承、类的组合 3.类和对象&#xff08;III&#xff09;总结 类的绑定&#xff0c;self&#xff0c;__dict__的妙用 二、类的继承 1.…

4.4.2 译码器

1. 学习基础知识&#xff1a;首先&#xff0c;我会了解译码器的基本概念、原理和应用。通过阅读教科书、参考资料或在线资源&#xff0c;我会学习译码器的工作原理、不同类型的译码器以及它们在电子系统中的应用场景。 2. 研究示例和练习题&#xff1a;为了更好地理解译码器的…