C++ 实践笔记
随缘更 (~ ̄▽ ̄)~ 1.auto关键字1.1.auto(C++11新特性)C++11赋予了auto新的定义,让其做自动类型推导,也就是说,编译器可以在编译期间自动推算出变量的类型,这样就可以更加方便的编写代码了。使用: auto 用法最常见的场景是声明变量时,让编译器根据初始化表达式自动推导出变量的类型。 在使用 STL 容器(如 std::vector、std::map 等)时,auto 能大大简化代码,尤其是在使用迭代器时。 123456789101112#include <vector>#include <iostream>int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用 auto 推导类型,避免手动指定迭代器类型 for (auto it = vec.begin(); it != vec.end(); ++it) { std::cout << *it << "...
解决Github进不去的问题
问题描述网页Github进不去,尽管已经连接梯子。在Cmd中ping github.com 百分比丢包。 解决方法 在目录 1C:\Windows\System32\drivers\etc 找到hosts文件,在最后加上两行github的IP 12192.30.253.112 github.com151.101.88.249 github.global.ssl.fastly.net 如何还是ping不通,192.30.255.112 可能是旧的 GitHub IP,GitHub 的 IP 经常变。在cmd中输入以下指令检查最新 IP:12nslookup github.comnslookup github.global.ssl.fastly.net 替换到第二步中的地址
LOS
追踪控制算法中的视线法(Pure Pursuit Algorithm) 是一种常用于无人车、自主机器人或自动驾驶系统的路径跟踪算法。它的核心思想是通过确定一个“目标点”,使车辆以特定的转向角调整其行驶方向,从而逐步靠近预定路径。 视线法的基本原理 视线点: 视线点是路径上一个期望的参考点,航向调整是基于该点的相对位置。通常,视线点位于当前位置前方的某个固定或动态计算的距离处。 从当前位置沿着路径找到一个距离为“前视距离”(Lookahead...
CMake 构建的 C++ 项目如何进行调试
使用 CMake 构建的 C++ 项目如何进行调试方法 一在CMakeLists.txt中添加123set(CMAKE_BUILD_TYPE "Debug")set(CMAKE_C_FLAGS_DEBUG "$ENV{CFLAGS} -O0 -Wall -g -ggdb")set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") gdb 可执行文件进行调试 方法 二在vscode中使用cmake tool插件进性调试
Linux下基于VSCode的c和c++编译环境搭建
可以使用gcc/g++、make、cmake编译 基础环境 ubuntu24.04 安装VSCode 在VSCode中安装C++拓展 1. gcc/g++1.1. 环境配置 首先确保ubuntu系统已安装gcc,使用gcc -v命令查看 如果能够正确打印出当前gcc的版本信息,则表示已经预装。若没有预装,则用如下命令安装安装 GNU 编译器工具和 GDB 调试器: 12sudo apt update # 更新软件包源 sudo apt-get install build-essential gdb 1.2. 配置项目的配置文件位于.vscode文件夹下: c_cpp_properties.json (compiler path and IntelliSense settings) tasks.json (compiler build settings) launch.json (debugger...
gcc、make与cmake
1.gcc gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。当你的程序只有一个源文件时,直接就可以用gcc命令编译它。 gcc hello.c -o hello,也可以gcc -o hello hello.c 编译成功后会生成一个可执行文件hello,在命令行中输入 ./hello运行程序 或者分步骤 123456gcc - 选项 源文件名(依赖文件) -o 目标文件名或者gcc -选项 -o 目标文件 源文件名(依赖文件)选项:-E 从当前文件开始,在预处理完成之后停止, 生成的文件后缀一般加i-S 从当前文件开始,在编译完成之后停止, 生成的文件后缀一般加s 预处理:gcc -E hello.c -o hello.i 编译:gcc -S hello.i -o hello.s 汇编:gcc -c hello.s -o hello.o 链接:gcc hello.o -o...
Vim编辑器
Vim 是从 vi 发展出来的一个文本编辑器。具有代码补全、编译及错误跳转等方便编程的功能。 Vim的使用vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和底线命令行模式(Command-Line Mode)。 命令模式启动vim,便进入命令模式。命令模式下,此时我们的输入会被识别为命令,而非字符。常用的命令: i 切换到输入模式,在光标当前位置开始输入文本。 a 进入插入模式,在光标下一个位置开始输入文本。 o 在当前行的下方插入一个新行,并进入插入模式。 O 在当前行的上方插入一个新行,并进入插入模式。 x 删除当前光标所在处的字符。 yy 复制当前行。 p(小写) 粘贴剪贴板内容到光标下方。 P(大写) 粘贴剪贴板内容到光标上方。 u 撤销上一次操作。 Ctrl + r 重做上一次撤销的操作。 : 切换到底线命令模式,以在最底一行输入命令。 :w 保存文件。 :q 退出 Vim 编辑器。 :q! 强制退出Vim 编辑器,不保存修改。当我们想要编辑文本,只需要启动 Vim,进入了命令模式,按下 i...
Linux 常用指令
linux系统文件目录/bin 二进制文件,系统常规命令 /boot 系统启动分区,系统启动时读取的文件 /dev 设备文件 /etc 大多数配置文件 /home 普通用户的家目录 /lib 32位函数库 /lib64 64位库 /media 手动临时挂载点 /mnt 手动临时挂载点 /opt 第三方软件安装位置 /proc 进程信息及硬件信息 /root 临时设备的默认挂载点 /sbin 系统管理命令 /srv 数据 /var 数据 /sys 内核相关信息 /tmp 临时文件 /usr 用户相关设定,安装了大部分用户要调用的程序 快捷键 Alt + F4 关闭当前窗口 Ctrl + Alt + T 打开终端 Crrl + D 关闭当前终端 Shift + Ctrl + T 在当前终端打开新标签页 Shift + Ctrl + Q...
Shell 脚本
1.什么是ShellShell有两层身份: Shell 是一个“应用程序”(解析器)它是用户和操作系统之间的“翻译官”,接收你输入的命令,然后交给内核执行。常见的 Shell 应用程序有: | Shell | 常见平台 | 特点 | | ————————————————— | —————————————————— | —————————————————————— | | bash (Bourne Again SHell) | Linux, macOS(默认) | 最常见,功能强,支持数组、字符串操作 | | sh(Bourne Shell) | Unix, Linux | 最早的 Shell,兼容性高,功能略弱 |...
Linux系统
基础知识操作系统:操作系统是计算机软件的一部分,负责管理计算机硬件和软件资源。它充当用户与计算机硬件之间的中介,协调各种资源的使用,以确保系统的高效运行。常见的操作系统有 Windows、macOS、Linux 等。 Linux系统简介Linux 本质上是一个内核(kernel),但通常我们说的“Linux 系统”是指 内核 + 各种工具/软件包的集合。Linux内核是开源的,允许软件被自由地使用、修改和再发布,因此许多公司和组织都会基于Linux内核,来开发自己的系统,即发行版,如: Ubuntu(用户友好,适合入门) CentOS / RHEL(服务器常用) Debian(稳定性高) Arch Linux(极度自定义) Kali Linux(渗透测试、安全研究) Linux系统结构(从底层到高层) 硬件层 就是物理设备,例如:CPU、内存、硬盘、网卡、外设等。 Linux通过驱动程序控制和管理这些硬件 Linux内核(Kernel)内核是Linux系统最重要的部分,关键模块|模块|功能||—-|—-||进程管理| ...









