【ROS 2】Ubuntu 22.04.5 LTS 系统 Visual Studio Code 开发工具配置 ② ( 编写运行 C++ 程序 | make、cmake 工具编译代码 )

【ROS 2】Ubuntu 22.04.5 LTS 系统 Visual Studio Code 开发工具配置 ② ( 编写运行 C++ 程序 | make、cmake 工具编译代码 )

文章目录

在上一篇 博客 【ROS 2】Ubuntu 22.04.5 LTS 系统 Visual Studio Code 开发工具配置 ① ( 开发工具配置 | 编写运行 Python 程序 | python3 命令运行 ) 中 , 编写 Python 代码 , 但是执行时 直接在 命令行 中执行该 Python 脚本 ;

Visual Studio Code 开发工具 在其中只扮演 编辑器 作用 , 编译运行操作 , 并不在 VSCode 中进行 ;

本篇博客中 , 编写 C++ 程序 , 然后再 命令行中 使用 g++ 编译器进行编译 , 在命令行中运行编译后的 a.out 可执行程序 ;




一、Visual Studio Code 开发工具编写运行 C++ 程序



1、编写 C++ 代码

编写如下 C++ 代码 :

#include"iostream"intmain(){ std::cout <<"Hello World !"<< std::endl;return0;}

2、打开 VSCode 集成终端

右键点击 " 资源管理器 " 空白处 , 在弹出的 菜单栏 中 , 选择 " 在集成终端中打开 " 选项 ,

在这里插入图片描述

3、编译 C++ 代码

执行

g++./hello_world.cpp 

命令 , 编译上述 C++ 代码文件 , 使用 g++ 编译器 将 C++ 代码编译为 二进制可执行文件 ;

4、执行编译结果

编译完成后 , 默认会生成一个 a.out 二进制可执行文件 , 然后执行

./a.out 

命令 , 执行上述可执行文件 ;

完整执行结果如下所示 :

hsl@hsl-VirtualBox:~/Project$ g++ ./hello_world.cpp hsl@hsl-VirtualBox:~/Project$ ./a.out Hello World ! hsl@hsl-VirtualBox:~/Project$ 
在这里插入图片描述




二、使用 make 工具编译 C++ 代码



1、编写 Makefile 编译脚本

使用 make 工具 编译 目录下的 hello_world.cpp 源码文件 , 需要编写如下 Makefile 编译脚本 :

# 定义编译器:指定g++作为C++编译器 CXX= g++ # 定义编译选项:启用C++11标准,消除冗余警告 CXXFLAGS=-std=c++11-Wall # 定义目标可执行文件名称 TARGET= hello_world # 默认目标(执行make时优先执行) all:$(TARGET) # 生成可执行文件的规则:依赖hello_world.cpp,生成$(TARGET)$(TARGET): hello_world.cpp $(CXX)$(CXXFLAGS)-o $(TARGET) hello_world.cpp # 清理编译产物的规则 clean: rm -f $(TARGET)

2、编译并执行

编写完 Makefile 构建脚本后 , 在 终端 命令行中 , 执行

make 

命令 , 即可编译生成 可执行二进制文件 hello_world ;

执行

./hello_world 

命令 , 执行 生成的 可执行二进制文件 ;

完整执行过程 :

hsl@hsl-VirtualBox:~/Project$ make g++-std=c++11-Wall -o hello_world hello_world.cpp hsl@hsl-VirtualBox:~/Project$ ./hello_world Hello World ! hsl@hsl-VirtualBox:~/Project$ 
在这里插入图片描述




三、使用 cmake 工具编译 C++ 代码



1、编写 CMakeLists.txt 构建脚本

# 1. 指定CMake的最低版本要求(兼容大多数系统,可根据实际环境调整) cmake_minimum_required(VERSION3.10) # 2. 定义项目名称(自定义,仅用于标识项目,不影响编译结果) project(HelloWorldProject) # 3. 设置C++标准(匹配代码使用的语法,此处为C++11,可根据需求改为14/17等) set(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_STANDARD_REQUIREDON) # 强制要求指定的C++标准,否则编译失败 # 4. 添加可执行文件 # 格式:add_executable(可执行文件名称 源码文件路径) # 此处可执行文件名为hello_world,源码文件为hello_world.cpp(若在子目录需写相对路径,如src/hello_world.cpp) add_executable(hello_world hello_world.cpp)

2、编译并执行

在 终端 窗口 中 , 执行

cmake .

命令 , 生成 Makefile 文件 , 然后 执行

make 

命令 , 生成 最终的 可执行二进制文件 hello_world , 最后执行

./hello_world 

命令 , 执行编译结果 ;

完整执行流程 :

hsl@hsl-VirtualBox:~/Project$ cmake .-- The C compiler identification is GNU11.4.0-- The CXX compiler identification is GNU11.4.0-- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler:/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler:/usr/bin/c++- skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to:/home/hsl/Project hsl@hsl-VirtualBox:~/Project$ make [50%] Building CXX object CMakeFiles/hello_world.dir/hello_world.cpp.o [100%] Linking CXX executable hello_world [100%] Built target hello_world hsl@hsl-VirtualBox:~/Project$ ./hello_world Hello World ! hsl@hsl-VirtualBox:~/Project$ 
在这里插入图片描述

Read more

一天开13个会、一个Bug要修200天!前亚马逊L7爆料:这轮大裁员,AI只是“背锅侠”

一天开13个会、一个Bug要修200天!前亚马逊L7爆料:这轮大裁员,AI只是“背锅侠”

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 过去一年,大型科技公司的裁员消息几乎从未停过。但当公司对外给出的理由越来越统一,“AI 让组织更高效”,也有越来越多内部员工开始提出另一种质疑:事情或许没那么简单。 最近,一段来自前亚马逊员工 Becky 的 YouTube 视频在开发者社区流传开来。她曾在亚马逊工作 7 年,其中 5 年担任 L7 级别的技术管理者,负责过团队年度规划(OP1)等核心管理工作——可去年,她主动离开了亚马逊。 就在最近,她的三位前同事接连被裁,其中两人还是 H-1B 签证员工,都背着房贷压力。其中一位同事忍不住给 Becky 发消息:“你去年离开的时候,是不是已经预料到会发生这些?” 对此,Becky 的回答很坦诚:她不知道具体什么时候会裁员,但她早就感觉情况不对劲了。 在她看来,这轮裁员被归因为

By Ne0inhk
用 10% GPU 跑通万亿参数 RL!马骁腾拆解万亿参数大模型的后训练实战

用 10% GPU 跑通万亿参数 RL!马骁腾拆解万亿参数大模型的后训练实战

整理 | 梦依丹 出品 | ZEEKLOG(ID:ZEEKLOGnews) 左手是提示词的工程化约束,右手是 Context Learning 的自我进化。 在 OpenAI 新发布的《Prompt guidance for GPT-5.4》中,反复提到了 Prompt Contracts(提示词合约)。要求开发者像编写代码一样,严谨地定义 Agent 的输入边界、输出格式与工具调用逻辑,进而换取 AI 行为的确定性。 但在现实操作中,谁又能日复一日地去维护那些冗长、脆弱的“提示词代码”? 真正的 Agent,不应只靠阅读 Context Engineering,更应该具备 Context Learning 的能力。 为此,在 4 月 17-18

By Ne0inhk
当OpenClaw引爆全网,谁来解决企业AI Agent的“落地焦虑”?

当OpenClaw引爆全网,谁来解决企业AI Agent的“落地焦虑”?

2026 年 3 月,开源 AI Agent 框架 OpenClaw 在 GitHub 上的星标突破28万,并一度超越 React,成为 GitHub 最受关注的软件项目之一。短时间内,开发者利用它构建了大量实验性应用:从全栈开发辅助,到自动化营销脚本,再到桌面操作自动化,AI Agent 的能力边界正在迅速被拓展。 这股热潮也带动了另一个趋势——本地部署与算力硬件需求的快速增长。越来越多开发者尝试在个人设备或企业服务器上运行 Agent 系统,以获得更高的控制权和数据安全性。 从表面上看,AI Agent 似乎正从“概念验证”走向更广泛的开发实践。但在企业环境中,情况却没有想象中乐观。当企业负责人开始追问—— “它能直接解决我的业务问题吗?” 很多演示级产品仍难以给出令人满意的答案。 如何让 Agent 真正融入企业既有系统、适配复杂业务流程,正成为大模型产业落地必须跨越的一道门槛。 与此同时,中国不同城市的产业结构差异明显:互联网、

By Ne0inhk
二手平台出现OpenClaw卸载服务,299元可上门“帮卸”;2026年春招AI人才身价暴涨:平均月薪超6万;Meta辟谣亚历山大·王离职 | 极客头条

二手平台出现OpenClaw卸载服务,299元可上门“帮卸”;2026年春招AI人才身价暴涨:平均月薪超6万;Meta辟谣亚历山大·王离职 | 极客头条

「极客头条」—— 技术人员的新闻圈! ZEEKLOG 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:[email protected]) 整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 一分钟速览新闻点! * 微信员工辟谣“小龙虾可自动发红包”:不要以讹传讹 * 蚂蚁集团启动春招,超 70% 为 AI 相关岗位 * 受贿 208 万!拼多多一员工被抓 * 2026 年春招 AI 人才身价暴涨: 平均月薪超 6 万元 * 二手平台出现 OpenClaw 上门卸载服务 * 权限太高,国家互联网应急中心发布 OpenClaw 安全应用的风险提示 * 字节豆包内测 AI 电商功能:无需跳转抖音,日活用户数超

By Ne0inhk