像Python一样玩C/C++

2019-12-29 19:53:05 浏览数 (1)

像Python一样玩C/C

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

代码语言:javascript复制
l = [1,2]
l

直接输出:

代码语言:javascript复制
[1,2]

那当使用C 的时候,例如:

代码语言:javascript复制
map<string, int> mp{
    {"one",   1},
    {"two",   2},
    {"three", 3},
    {"four",  4}
};

如果要输出,就得循环遍历,可否直接输出结果呢?

so easy!!! Jupyter Notebook可以解决一切问题,哈哈~

看下图:

如何在Jupyter中玩C ?

在github上有一个仓库,如下所示:

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

xeus-cling 是一个用于C 的Jupyter内核,基于C 解释器和Jupyter协议xeus的原生实现。

目前,支持Mac与Linux,但不支持Windows。

安装也是非常简单,首先安装好Anaconda,在里面创建一个虚拟环境:

代码语言:javascript复制
conda create -n cling

切换进去:

代码语言:javascript复制
conda activate cling

给新环境安装jupyternotebook

代码语言:javascript复制
conda install jupyter notebook

使用conda-forge安装xeus-cling

代码语言:javascript复制
conda install xeus-cling -c conda-forge

为了加速安装,请记得给Anaconda配置源!

检查是否安装好了内核(kernel):

代码语言:javascript复制
jupyter kernelspec list

输出:

代码语言:javascript复制
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

打开Jupyter Notebook,就可以看到看到kernel了。

启动Jupyter Notebook

代码语言:javascript复制
jupyter-notebook

(其中多了一个C,是因为也装了C kernel,看后面)

示例测试:

如何在Jupyter中玩C?

只需要安装c kernel即可!

可以直接在当前环境中创建c kernel,也可以新开一个环境安装,下面是在当前环境中直接安装。

代码语言:javascript复制
pip install jupyter-c-kernel
install_c_kernel
jupyter kernelspec list

此时,就输出:

代码语言:javascript复制
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

启动Jupyter Notebook

代码语言:javascript复制
jupyter-notebook

0 人点赞