c++
luoganttcc
微信:luogantt
展开
-
构造与析构
c++ 的全局对象的构造函数 在 main 之前实行 c++ 的全局对象的析构函数在 main 之后执行。原创 2022-09-20 13:39:49 · 200 阅读 · 0 评论 -
nm 查看文件的符号表
【代码】nm 查看文件的符号表。原创 2022-09-20 10:29:22 · 323 阅读 · 0 评论 -
真正了不起的程序员对自己程序的每一个字节都了如指掌
真正了不起的程序员对自己程序的每一个字节都了如指掌。原创 2022-09-19 19:59:17 · 102 阅读 · 0 评论 -
C语言之父Dennis Ritchie告诉你:如何成为世界上最好的程序员?
文/译/网易云信想要阅读更多技术干货文章,欢迎关注。了解,来自网易核心架构的通信与视频云服务。我不知道如何成为世界上最好的程序员。但是,我们可以向历史上最伟大的程序员学习。该系列文章将会向大家分享C语言的创造者、Unix操作系统的关键开发者Dennis Ritchie、。Linux内核的发明人Linus Torvalds的经历与建议。获得计算机编程学位的前几天,Dennis Ritchie获得了在麻省理工学院(麻省理工学院)工作的机会。转载 2022-09-17 19:42:05 · 548 阅读 · 0 评论 -
GDB调试之段信息
为了更好的调试程序,需要对程序编译后产生的库或可执行程序有一定的了解,本文主要介绍一下其中的段信息。转载 2022-09-16 12:08:12 · 964 阅读 · 0 评论 -
基础篇:lvalue,rvalue和move
如果v1和v2我们都需要的话,生成两份拷贝自然是没有问题的,但多数情况下我们只希望使用v2,那么我们就只希望生成一份拷贝,减少不必要又麻烦的拷贝过程:设想如果它包含10000个元素,要增加多大的开销?它们通常是一个直接的数值,运算符返回的数值,或是函数的返回值,或者通过隐式类型转换得到的对象,大部分字面值(e.g., 10 and 5.3)也是rvalues。这种时候,类型声明当中的“任何可以通过它的名字,指针或者引用来接触的变量都是lvalue,例如定义的某个变量和函数的参数, 对一个表达式取地址。转载 2022-09-14 15:59:22 · 428 阅读 · 0 评论 -
C goto 语句
【代码】C goto 语句。原创 2022-09-09 16:04:36 · 142 阅读 · 0 评论 -
linux 函数 堆栈
这次又把foo函数的ebp压栈保存,然后给ebp赋了新值,指向bar函数栈帧的栈底,通过ebp+8和ebp+12分别可以访问参数c和d。在gdb中可以用bt命令和frame命令查看每层栈帧上的参数和局部变量,现在可以解释它的工作原理了:如果我当前在bar函数中,我可以通过ebp找到bar函数的参数和局部变量,也可以找到foo函数的ebp保存在栈上的值,有了foo函数的ebp,又可以找到它的参数和局部变量,也可以找到main函数的ebp保存在栈上的值,因此各层函数栈帧通过保存在栈上的ebp的值串起来了。...原创 2022-08-31 15:19:01 · 582 阅读 · 0 评论 -
3D-SLAM自搭平台 主动阿克曼 + RS16 + LPMS_IMU LEGO_LOAM 建图
link原创 2022-08-27 21:28:00 · 78 阅读 · 0 评论 -
cmake 添加头文件目录,链接动态、静态库
link最近需要将Windows10系统下使用VS2017编译的VC++项目放到CentOS Linux服务器上跑,最简单的当然是使用cmake作为项目编译和管理工具了,这样就不需要写makefile了,使用cmake管理编译项目相对来说比较简单。遇到一个问题就是,由于我在CentOS7服务器上用的是普通用户账号,一些第三方库比如Boost库、yaml-cpp、mariadb、mariadb++、hiredis库放到一个统一的目录下比如/opt/env目录,而不是常见的/usr/、/usr/local等目录原创 2022-08-27 21:28:25 · 3534 阅读 · 0 评论 -
cmake configure_file 评价
案例说明源码原创 2022-08-27 21:28:35 · 78 阅读 · 0 评论 -
cmake cpack打包代码
第 7 步:打包安装程序¶。原创 2022-08-27 21:28:53 · 180 阅读 · 0 评论 -
CMake 菜鸟升级指南
当前文件路径 ${CMAKE_CURRENT_SOURCE_DIR} # 安装路径 ${CMAKE_INSTALL_PREFIX} # 默认值为 /usr/local # 项目编译路径 ${PROJECT_BINARY_DIR} # 项目名 ${PROJECT_NAME} # 项目路径,值参照下面PROJECT指令说明 ${PROJECT_SOURCE_DIR}原创 2022-08-27 21:29:06 · 302 阅读 · 0 评论 -
cmake --build 与 make
link原创 2022-08-27 21:29:25 · 97 阅读 · 0 评论 -
cmake 生成静态库 并且 将静态库链接到主函数
【代码】cmake 生成静态库 并且 将静态库链接到主函数。原创 2022-08-27 21:29:34 · 87 阅读 · 0 评论 -
cmake if-else- else-endif 条件语句
【代码】cmake if-else- else-endif 条件语句。原创 2022-08-28 22:57:58 · 78 阅读 · 0 评论 -
CMake 常用命令
cmake是现在主流的用于多平台C++构建系统,本文用来记录cmake的一些常用命令的索引,加上一些自己理解,理解有误的话,欢迎大家指出。原创 2022-08-28 22:58:06 · 1509 阅读 · 0 评论 -
cmake 显示选项
【代码】cmake 显示选项。原创 2022-08-28 22:58:15 · 72 阅读 · 0 评论 -
cmake 切换构建类型
CMake可以配置构建类型,例如:Debug、Release等。配置时,可以为Debug或Release构建设置相。是 CMAKE_BUILD_TYPE。关的选项或属性,例如:编译器和链接器标志。控制生成构建系统使用的配置变量。原创 2022-08-28 22:58:31 · 81 阅读 · 0 评论 -
cmake为语言设定标准
【代码】cmake为语言设定标准。原创 2022-08-28 22:58:53 · 200 阅读 · 0 评论 -
cmake 检测操作系统
CMake是一组跨平台工具。不过,了解操作系统(OS)上执行配置或构建步骤也很重要。相关的CMake代码,会根据操作系统启用条件编译,或者在可用或必要时使用特定于编译器的扩展。示例中,我们将通过一个不需要编译任何源代码的示例,演示如何使用CMake检测操作系统。起见,我们只考虑配置过程。...原创 2022-08-28 22:59:05 · 78 阅读 · 0 评论 -
cmake 处理与平台相关的源代码
");");");#else");#endif}}原创 2022-08-28 22:59:13 · 77 阅读 · 0 评论 -
cmake 处理与编译器相关的源代码
CMake是一组跨平台工具。不过,了解操作系统(OS)上执行配置或构建步骤也很重要。相关的CMake代码,会根据操作系统启用条件编译,或者在可用或必要时使用特定于编译器的扩展。示例中,我们将通过一个不需要编译任何源代码的示例,演示如何使用CMake检测操作系统。起见,我们只考虑配置过程。...原创 2022-08-29 09:53:00 · 125 阅读 · 0 评论 -
cmake 处理与编译器相关的源代码
【代码】cmake 处理与编译器相关的源代码。原创 2022-08-29 09:53:10 · 71 阅读 · 0 评论 -
cmake 检测处理器体系结构
【代码】cmake 检测处理器体系结构。原创 2022-08-29 09:53:18 · 249 阅读 · 0 评论 -
Cmake命令之cmake_host_system_information
指定待查询的信息,可以有多个,查询结果存放在。可以是主机名称、内存信息、CPU信息等等,的所有取值可以参考本文的第三章节。运行环境的系统信息,原创 2022-08-29 09:53:30 · 318 阅读 · 0 评论 -
cmake 检测处理器指令集
【代码】cmake 检测处理器指令集。原创 2022-08-29 09:53:53 · 309 阅读 · 0 评论 -
cmake:CheckCXXCompilerFlag
例子2:避免二进制中的时间戳用于可复制构建,直到GCC 4.9才添加。例子1:在检查当前编译器是否支持c++11。在4.9(含)的gcc版本中添加了。告警,如果在代码中使用了。这几个宏,会产生错误;原创 2022-08-29 09:54:04 · 83 阅读 · 0 评论 -
c29_为Eigen库使能向量化
【代码】c29_为Eigen库使能向量化。原创 2022-08-29 09:54:18 · 70 阅读 · 0 评论 -
cmake 调用 python
【代码】cmake 调用 python。原创 2022-08-29 09:54:32 · 561 阅读 · 0 评论 -
openmp 并行计算
【代码】openmp 并行计算。原创 2022-08-29 09:54:44 · 83 阅读 · 0 评论 -
MPI——基础知识
link代码在git原创 2022-08-29 09:55:12 · 100 阅读 · 0 评论 -
cmake 检测Eigen库
【代码】cmake 检测Eigen库。原创 2022-08-30 06:48:55 · 95 阅读 · 0 评论 -
cmake 检测Boost库
【代码】cmake 检测Boost库。原创 2022-08-30 11:00:11 · 77 阅读 · 0 评论 -
cmake 代码版本管理
【代码】cmake 代码版本管理。原创 2022-08-30 11:00:22 · 282 阅读 · 0 评论 -
ubuntu kernal install
123原创 2022-08-18 06:38:39 · 87 阅读 · 0 评论 -
C++ 函数重载有啥用?
因为有函数重载机制, 所以没必要区分 print_int、print_string 等,直接 print 就行。 2、同名构造函数,便于实例化对象 我们知道,C++ 类的构造函数跟类名是相同的; 如果没有函数重载机制,要想实例化不同的对象,就比较麻烦了!操作符重载本质上就是函数重载, 它丰富了已有操作符的含义,方便使用,如 + 可用于连接字符串等!...原创 2022-07-08 08:41:01 · 631 阅读 · 0 评论 -
C++函数重载详解
但在C++中,这完全没有必要。C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。【示例】借助函数重载交换不同类型的变量的值:运行结果:200, 10056.93, 12.5B, A1, 0本例之所以使用Swap这个函数名,而不是使用swap,是因为 C++ 标准库已经提供了交换两个变量的值的原创 2022-07-08 10:22:43 · 172 阅读 · 0 评论 -
static的作用
分类 编程技术在 C 语言中,static 的字面意思很容易把我们导入歧途,其实它的作用有三条。当我们同时编译多个文件时,所有未加 static 前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是 a.c,另一个是 main.c。下面是 a.c 的内容:代码在git下面是 main.c 的内容:程序的运行结果是:你可能会问:为什么在 a.c 中定义的全局变量 a 和函数 msg 能在 main.c 中使用?前面说过,所有未加 static 前缀的全原创 2022-07-04 20:04:17 · 87 阅读 · 0 评论 -
static 函数中的静态变量
函数中的静态变量当变量声明为static时,空间将在程序的生命周期内分配。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非常有用。输出:...原创 2022-07-01 19:36:18 · 541 阅读 · 0 评论