使用JupyterLab写C++

简介: 使用JupyterLab写C++

使用JupyterLab写C++


前言


这篇博客纯粹就是为了好玩,平时大家都习惯使用jupyter写一些python代码特别是对于一些数据分析处理的问题,可以随时查看运行结果非常方便.如果是C++代码那就得每次链接编译再运行查看结果,对于一些小的数据容器这样操作非常不方便.正好看到有一个开源的库可以让我们在jupyter环境中就能运行C++代码,并且可以随时查看数据内容,所以来记载一下.


开始动手


首先查看一下这个库的内容github.com/jupyter-xeu…


image.png


目前这个库只支持linuxMac系统,并且没有推出对Win的支持.所以Win想体验的话可以开个虚拟机或者用服务器.这个库主要就是一个用于C++的jupyter内核,基于C++解释器和jupyter协议实现.


安装


默认是配置好了anaconda环境的基础上进行下面的步骤

  1. 创建一个新的虚拟环境

conda create -n xxx

  1. 激活新的虚拟环境并且安装配置

conda activate xxx

conda install jupyterlab

conda install xeus-cling -c conda-forge

  1. 查看内核是否安装好

jupyter kernelspec list


image.png


测试一下


随便打开一个文件夹,然后和python一样命令行运行jupyter lab

创建一个C++17的ipynb,然后写一些C++的代码进行测试

首先必须要引入头文件


#include<iostream>
#include<map>
#include<vector>
using namespace std;
复制代码


运行这个代码


image.png


然后随便编写一些容器并查看内部数据


map<string, int> mp{
    {"one",   1},
    {"two",   2},
    {"three", 3},
    {"four",  4}
};
vector<int> mylist{
    1,3,5,7,9
};
复制代码


image.png

完美,这不就是我们想要的即时查看数据内容嘛,真香!!!并且遇到某些接口不会使用的时候还可以很简单的查看文档接口介绍


image.png


调用外部库(opencv)


图像处理最常用的opencv也可以在这里面调用,需要额外自己手动引入includelib


#pragma cling add_library_path("/usr/local/lib")
#pragma cling add_include_path("/usr/local/include/")
#pragma cling add_include_path("/usr/local/include/opencv4")
#pragma cling load("/usr/local/lib/libopencv_world.so.4.5.3")
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
Mat img=imread("/home/shelgi/Desktop/C++_opencv/1.jpeg");
imshow("src",img);
waitKey(0);
cout<<img.rows<<" "<<img.cols;
复制代码


image.png


结束


总的来看使用jupyter写C++代码可玩性还是可以的,但是项目开发就很难用的上.所以这个也只是一个玩具尝试.如果试试就会发现,这玩意居然不支持cin,并且貌似没有给出解决方案只能找其他方法代替.

目录
相关文章
|
9月前
|
前端开发 数据安全/隐私保护
股票交易截图生成器, 股票持仓图生成器免费, 股票交割单生成器手机版
实现了完整的股票持仓截图生成功能,包含随机数据生成、表格绘制、汇总统计和水印添加。使用时只
|
4月前
|
存储 数据采集 人工智能
技术架构决胜GEO优化:AI搜索优化底层逻辑拆解与实测
2025年调研显示,83%品牌布局GEO,但62%因技术架构不足致AI引用率偏低。本文拆解“垂直模型、数据处理、内容运营、效果迭代”四大底层逻辑,构建六维评测体系,深度解析五大GEO公司技术实力与选型策略,揭示全自研架构在AI搜索变革中的决定性作用。
|
9月前
|
人工智能 自然语言处理 IDE
代码生成智能体实战:打造程序员的AI编程助手
作为一名深耕AI编程领域多年的技术从业者,我见证了代码生成技术从最初的模板化生成到如今基于大语言模型的智能化代码生成的完整演进过程。在过去的三年里,我参与了多个企业级代码生成智能体(Code Generation Agent)项目的设计与实现,从最初简单的语法补全工具,到现在能够理解复杂业务逻辑并生成高质量代码的AI编程助手,这一技术的发展速度令人惊叹。
711 4
代码生成智能体实战:打造程序员的AI编程助手
|
6月前
|
机器学习/深度学习 缓存 PyTorch
131_推理加速:ONNX与TensorRT深度技术解析与LLM模型转换优化实践
在大语言模型(LLM)时代,高效的推理加速已成为部署高性能AI应用的关键挑战。随着模型规模的不断扩大(从BERT的数亿参数到GPT-4的数千亿参数),推理过程的计算成本和延迟问题日益突出。ONNX(开放神经网络交换格式)和TensorRT作为业界领先的推理优化框架,为LLM的高效部署提供了强大的技术支持。本文将深入探讨LLM推理加速的核心原理,详细讲解PyTorch模型转换为ONNX和TensorRT的完整流程,并结合2025年最新优化技术,提供可落地的代码实现与性能调优方案。
1600 4
|
编译器 Linux C++
本地LaTeX编写环境配置
LaTeX是一种高质量排版系统,适用于学术论文、书籍等文档。本地配置主要基于VS Code,通过安装LaTeX Workshop插件实现一键配置。还可通过Overleaf Workshop插件连接在线平台Overleaf,实现线上线下同步编辑与编译。
2080 1
本地LaTeX编写环境配置
|
测试技术 数据处理 数据格式
Python中动态类和动态方法的创建与调用
【8月更文挑战第5天】在Python中,`type`函数可用于创建动态类,结合`types.MethodType`可创建动态方法。例如,定义`dynamic_method`后,可通过`type`创建包含该方法的`DynamicClass`。同样,对于已存在的类实例,可通过`types.MethodType`绑定新方法。这种动态特性适用于自动化测试框架或数据处理应用等场景,实现根据需求动态生成类及方法以执行特定逻辑。
326 7
|
安全 网络安全 数据安全/隐私保护
2023HW-8月53个0day,1day汇总含POC、EXP
2023HW-8月(10-15)53个0day,1day汇总含POC、EXP
1366 0
|
Java 计算机视觉
如何快速有效降低 JavaCV 依赖包体积?
如何快速有效降低 JavaCV 依赖包体积?
1808 4
|
人工智能 API Python
【AI大模型应用开发】1.1 Prompt Engineering(提示词工程)- 用OpenAI API实战,优化方法论总结
【AI大模型应用开发】1.1 Prompt Engineering(提示词工程)- 用OpenAI API实战,优化方法论总结
1239 0