Tiny C++ 解释器技术文档
2024-12-28 05:30:52作者:乔或婵
以下是关于如何安装、使用以及API文档的详细介绍。
1. 安装指南
Linux
- 确保安装了Qt 6工具包和编译器(GNU C++编译器、LLVM C++编译器或MSVC C++编译器)。
- 执行以下命令:
$ qmake $ make $ sudo make install $ cpi -v cpi 2.2.0
Windows
- 确保安装了Qt 6工具包和Visual Studio 2022 Developer Command Prompt。
- 执行以下命令:
> C:\Qt\6.7.0\msvc2019_64\bin\qtenv2.bat Setting up environment for Qt usage... > cd (cpi root directory) > qmake > nmake > cpi.bat -h (运行cpi命令) Usage: cpi.exe [options] [file] [-] Tiny C++ Interpreter. Runs in interactive mode by default.
2. 项目使用说明
交互模式
- 运行以下命令进入交互模式:
$ cpi - 输入代码并执行,例如:
cpi> 3 << 23; (位运算) 25165824 cpi> int a = 3; cpi> ~a; (取反) -4 cpi> a ^ 2; (异或) 1 cpi> auto func = [](int n) { return n*n; }; (Lambda函数) cpi> func(3); 9
执行模式
- 将C++源代码保存为
hello.cpp:#include <iostream> int main() { std::cout << "Hello world\n"; return 0; } - 使用以下命令执行:
$ cpi hello.cpp Hello world
编译选项
-
在代码中指定编译选项,例如链接数学库:
#include <iostream> #include <cmath> #include <cstdlib> int main(int argc, char *argv[]) { if (argc != 2) return 0; std::cout << sqrt(atoi(argv[1])) << std::endl; return 0; } // CompileOptions: -lm -
使用以下命令执行:
$ cpi sqrt.cpp 2 1.41421
3. 项目API使用文档
cpi提供了一个简单的API,用于在交互模式下执行C++代码。以下是部分API列表:
.conf:显示各种设置的当前值。.help:显示此帮助信息。.rm LINENO:删除指定行号的代码。.show:显示当前源代码。.quit:退出程序。
4. 项目安装方式
安装方式已在“安装指南”部分详细说明。请按照上述步骤进行安装。
登录后查看全文
热门项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0148- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0111
项目优选
收起
暂无描述
Dockerfile
731
4.73 K
Ascend Extension for PyTorch
Python
609
786
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1 K
1.01 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
433
392
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
145
237
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.15 K
148
暂无简介
Dart
983
250
Oohos_react_native
React Native鸿蒙化仓库
C++
347
401
昇腾LLM分布式训练框架
Python
166
197
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.67 K
985