news 2026/6/10 10:05:34

linux 配置cpp环境 测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux 配置cpp环境 测试

安装 g++、gcc、make 等完整工具链
sudo apt update
sudo apt install build-essential -y
sudo apt-get install cmake -y
sudo apt install gdb -y

编译
g++ hello.cpp -o hello
./hello

显示所有警告
g++ -Wall -Wextra hello.cpp -o hello

包含调试信息(用于gdb调试)
g++ -g hello.cpp -o hello

O1 优化
g++ -O1 hello.cpp -o hello

O2 优化(常用)
g++ -O2 hello.cpp -o hello

O3 最大优化
g++ -O3 hello.cpp -o hello

编译多个文件
g++ main.cpp functions.cpp -o myprogram
./myprogram

使用cmake

CMakeLists.txt 文件

#CMakeLists.txt# 设置:版本cmake_minimum_required(VERSION3.20)# 定义:项目名称project(first_cmake)# 变成执行程序 # 参数:项目名字、源码名字、add_executable(first_cmake first_cmake.cpp)

first_cmake.cpp 文件

#include<iostream>usingnamespacestd;intmain(){cout<<"Hello, World!"<<endl;return0;}

run.sh 文件

# 使用下面步骤代替第一步,原因是有些cmake版本不支持(-S -B)参数mkdirbuildcdbuild cmake..cd../# 下面一样cmake --build build ./build/first_cmake

若使用vscode
配置如下
使用方式:
快速运行:Ctrl+Shift+B
调试:F5

launch.json

{"version":"0.2.0","configurations":[{"name":"调试程序","type":"cppdbg","request":"launch","program":"${workspaceFolder}/build/first_cmake","args":[],"stopAtEntry":false,"cwd":"${workspaceFolder}","environment":[],"externalConsole":false,"MIMode":"gdb","setupCommands":[{"description":"为 gdb 启用整齐打印","text":"-enable-pretty-printing","ignoreFailures":true}],"preLaunchTask":"编译"}]}

tasks.json

{"version":"2.0.0","tasks":[{"label":"编译","type":"shell","command":"cd${workspaceFolder}&& mkdir -p build && cd build && cmake .. && make","group":"build"},{"label":"编译并运行","type":"shell","command":"cd${workspaceFolder}&& mkdir -p build && cd build && cmake .. && make && echo '=== 运行程序 ===' && ./first_cmake","group":{"kind":"build","isDefault":true}}]}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 16:45:45

22、构建本地 POP3/SMTP 邮件服务全攻略

构建本地 POP3/SMTP 邮件服务全攻略 在当今数字化的时代,邮件服务是企业和个人日常沟通中不可或缺的一部分。构建一个稳定、安全且高效的本地邮件服务,不仅能够满足内部通信的需求,还能有效保护信息的安全。本文将详细介绍如何使用 Postfix 和 Dovecot 构建本地 POP3/SMTP …

作者头像 李华
网站建设 2026/6/9 14:55:33

JeecgBoot低代码平台完全指南:企业级应用的快速开发解决方案

JeecgBoot低代码平台完全指南&#xff1a;企业级应用的快速开发解决方案 【免费下载链接】jeecg-boot 项目地址: https://gitcode.com/gh_mirrors/jee/jeecg-boot JeecgBoot是一款革命性的Java低代码快速开发平台&#xff0c;专为企业级Web应用量身打造。通过智能代码生…

作者头像 李华
网站建设 2026/6/5 4:19:25

混元大模型开源:520亿激活参数改写行业效率标准

混元大模型开源&#xff1a;520亿激活参数改写行业效率标准 【免费下载链接】Tencent-Hunyuan-Large 项目地址: https://ai.gitcode.com/hf_mirrors/tencent/Tencent-Hunyuan-Large 导语 腾讯正式开源混元大模型&#xff08;Hunyuan-Large&#xff09;&#xff0c;以3…

作者头像 李华
网站建设 2026/6/9 0:17:55

21、深入理解Shell中的字符串输入输出与命令行处理

深入理解Shell中的字符串输入输出与命令行处理 1. 额外的bash printf说明符 除了标准的说明符外,bash shell(以及其他符合POSIX标准的shell)还接受两个额外的说明符,不过它们存在一定的非可移植性。具体如下: - %b :当用 %b 代替 %s 时,它会展开参数字符串中的 ech…

作者头像 李华
网站建设 2026/5/31 23:11:55

24、UNIX 系统进程处理与信号控制全解析

UNIX 系统进程处理与信号控制全解析 1. 进程终止信号与 kill 命令 在 UNIX 系统中,当需要终止进程时,我们可以使用 kill 命令。例如,若 alice 脚本返回退出状态码 131,当 QUIT 信号无法终止进程时,可使用 KILL 信号: $ kill -KILL %1执行上述命令后,会输出…

作者头像 李华
网站建设 2026/6/8 18:40:33

开源大模型技术普及化:从精英工具到普惠智能的范式转移

在人工智能技术快速演进的当下&#xff0c;开源大模型正悄然重塑着技术创新的权力格局。当我们审视新一代AI模型的发展轨迹时&#xff0c;一个鲜明的趋势正在显现&#xff1a;技术门槛的持续降低与创新机会的广泛分布。这场由开源驱动的技术普及化浪潮&#xff0c;正在催生前所…

作者头像 李华