当前位置:首页>python>像Python一样玩CC++

像Python一样玩CC++

  • 2026-10-11 07:14:08
像Python一样玩CC++

像Python一样玩C/C++

使用Jupyter Notebook进行C/C++交互式编程

本文介绍如何在Jupyter Notebook中像Python一样便捷地使用C和C++

基于xeus-cling内核实现C++交互式编程,以及C内核的实现方法

目录

第一章:为什么需要像Python一样玩C/C++?

第二章:xeus-cling —— C++的Jupyter内核

第三章:安装与配置(Mac/Linux)

第四章:在Jupyter中玩C

第五章:实用技巧与示例代码

第六章:Windows用户的替代方案

第七章:总结与参考资料

第一章:为什么需要像Python一样玩C/C++?

1.1 Python的交互式体验

在Python中,我们可以使用Jupyter Notebook直接看到结果:

l = [1, 2]

l

直接输出:[1, 2]

这种即时反馈的交互式体验极大提高了开发效率和学习体验。

1.2 C++的传统开发模式

相比之下,使用C++时,即使是想查看一个简单的map内容:

mapmp{

{"one",1},

{"two",2},

{"three",3},

{"four",4}

};

也需要写循环遍历才能输出,缺乏直观性。

1.3 解决方案:Jupyter + C/C++

通过Jupyter Notebook配合专门的C/C++内核,我们可以:

像Python一样即时执行C/C++代码

立即看到变量值和输出结果

支持丰富的C++标准库(C++11/14/17)

方便学习、测试和原型开发

第二章:xeus-cling —— C++的Jupyter内核

2.1 什么是xeus-cling?

xeus-cling是一个用于C++的Jupyter内核,具有以下特点:

基于cling C++解释器(CERN开发)

支持C++11、C++14、C++17标准

实现真正的C++交互式编程

支持丰富的输出格式(包括图像、HTML等)

2.2 项目地址

https://github.com/QuantStack/xeus-cling

这是一个开源项目,由QuantStack团队开发维护。

2.3 支持的平台

✅ macOS

✅ Linux

❌ Windows(不直接支持,但可通过WSL或虚拟机使用)

💡 提示:Windows用户可以使用WSL (Windows Subsystem for Linux) 来运行xeus-cling

第三章:安装与配置(Mac/Linux)

3.1 前置条件

在开始之前,需要确保:

已安装Anaconda或Miniconda

有基本的命令行使用经验

网络连接正常(用于下载包)

3.2 步骤一:创建conda虚拟环境

# 创建一个名为cling的虚拟环境

conda create -n cling

# 切换到新环境

conda activate cling

3.3 步骤二:安装Jupyter Notebook

# 在当前环境中安装jupyter和notebook

conda install jupyter notebook

3.4 步骤三:安装xeus-cling

# 使用conda-forge通道安装xeus-cling

conda install xeus-cling -c conda-forge

💡 提示:为了加速安装,建议提前配置国内镜像源(如清华源、阿里源等)

3.5 步骤四:验证安装

# 检查已安装的kernel

jupyter kernelspec list

预期输出:

python3/home/xxx/anaconda3/envs/cling/share/jupyter/kernels/python3

xcpp11/home/xxx/anaconda3/envs/cling/share/jupyter/kernels/xcpp11

xcpp14/home/xxx/anaconda3/envs/cling/share/jupyter/kernels/xcpp14

xcpp17/home/xxx/anaconda3/envs/cling/share/jupyter/kernels/xcpp17

3.6 步骤五:启动Jupyter Notebook

jupyter-notebook

启动后,在"New"下拉菜单中可以看到C++11、C++14、C++17内核选项。

第四章:在Jupyter中玩C

4.1 安装C内核

如果需要在Jupyter中使用C语言,可以安装C内核:

# 安装C内核包

pip install jupyter-c-kernel

# 安装内核到Jupyter

install_c_kernel

4.2 验证C内核安装

jupyter kernelspec list

预期输出(增加了C内核):

c/home/light/anaconda3/envs/cling/share/jupyter/kernels/c

python3/home/light/anaconda3/envs/cling/share/jupyter/kernels/python3

xcpp11/home/light/anaconda3/envs/cling/share/jupyter/kernels/xcpp11

xcpp14/home/light/anaconda3/envs/cling/share/jupyter/kernels/xcpp14

xcpp17/home/light/anaconda3/envs/cling/share/jupyter/kernels/xcpp17

4.3 启动并使用C内核

jupyter-notebook

在Jupyter界面中,选择"C"内核即可开始C语言交互式编程。

第五章:实用技巧与示例代码

5.1 C++基础示例

示例1:输出map内容

#include       

#include

#include

std::mapmp{

{"one",1},

{"two",2},

{"three",3},

{"four",4}

};

// 在Jupyter中可以直接输出

for (auto& p : mp) {

std::cout<< p.first << ": " << p.second << std::endl;

}

示例2:使用STL容器

#include

#include

#include

std::vectorv = {5, 2, 8, 1, 9};

std::sort(v.begin(), v.end());

for (int x : v) {

std::cout<< x << " ";

}

// 输出:1 2 5 8 9

5.2 高级功能

使用cling的特殊命令

.help// 显示帮助信息

.quit// 退出

.print Decltype(v)// 打印变量类型

加载外部库

#pragma cling add_include_path("/usr/local/include")

#pragma cling add_library_path("/usr/local/lib")

#pragma cling load("opencv_core")

5.3 调试技巧

使用std::cout进行调试输出

利用Jupyter的单元格分段执行特性

可以使用cling的.Debug命令进行更深入的调试

第六章:Windows用户的替代方案

6.1 方案:使用WSL

Windows 10及以上版本可以使用WSL (Windows Subsystem for Linux):

1. 在Windows功能中启用WSL

2. 安装Ubuntu等Linux发行版

3. 在WSL中按照Mac/Linux的步骤安装xeus-cling

4. 在Windows浏览器中访问Jupyter

6.2 方案二:使用虚拟机

使用VirtualBox或VMware安装Linux虚拟机

在虚拟机中安装Anaconda和xeus-cling

6.3 方案三:使用在线环境

Google Colab(支持C++,但不支持cling)

Binder(可以配置xeus-cling环境)

一些在线C++编译器(如Wandbox、Compiler Explorer)

⚠️ 注意:Windows原生系统目前无法直接运行xeus-cling,必须使用WSL或虚拟机

第七章:总结与参考资料

7.1 核心要点总结

xeus-cling让C++可以像Python一样在Jupyter中交互式编程

支持C++11/14/17标准,满足现代C++开发需求

C语言可以通过jupyter-c-kernel实现类似功能

Windows用户需要使用WSL或虚拟机来运行

7.2 优势

提高C/C++学习和开发效率

方便代码测试和原型验证

结合Jupyter的强大生态(Markdown、可视化等)

7.3 参考资料

xeus-cling GitHub: https://github.com/QuantStack/xeus-cling

cling官网: https://root.cern.ch/cling

Jupyter官网: https://jupyter.org/

Conda官方文档: https://docs.conda.io/

7.4 常见问题FAQ

Q1: 安装速度很慢怎么办?

A: 配置国内镜像源,如清华源、阿里源等。

Q2: Windows可以直接安装吗?

A: 不能,需要使用WSL或虚拟机。

Q3: 支持C++20吗?

A: 目前主要支持到C++17,C++20支持在开发中。

最新文章

随机文章