linux下搭建boost、muduo、mysql、nginx
摘要:参考博客: 1.boost:C++网络编程 - Boost::asio异步网络编程 - 01- boost库源码编译安装 2.muduo:C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装 3.mysql: sudo apt-get install mysql-s
阅读全文
posted @
2024-02-23 14:57
孜孜不倦fly
阅读(27)
推荐(0) 编辑
字符串、向量和数组
摘要:一、字符串 1.引入库 include <string> using std::string; 2.初始化 string s(10, 'c'); //直接初始化 string s1("hello"); //直接初始化 string s2 = "hello"; //拷贝初始化 3.操作 (1)s +=
阅读全文
posted @
2024-02-17 13:23
孜孜不倦fly
阅读(9)
推荐(0) 编辑
C++左值引用、右值引用、移动语义、完美转发、深浅拷贝
摘要:一、左值和右值定义(能否取地址) 1.左值:可以取地址的对象 2.右值:不可以取地址、临时要销毁的对象 二、左值引用 1.定义:对左值的引用 int& ra = a; 2.作用:传递参数和返回值时减少不必要的拷贝 三、右值引用 1.定义:对右值的引用 // 以下是对几种右值的右值引用 int&& r
阅读全文
posted @
2024-02-17 12:40
孜孜不倦fly
阅读(35)
推荐(0) 编辑
CMakeLists常用指令
摘要:#指定cmake最低版本 cmake_minimum_required(VERSION 3.10.2) #指定工程名字和支持的语言 project(test LANGUAGES CXX) #指定cmake模块路径 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/
阅读全文
posted @
2024-02-08 12:00
孜孜不倦fly
阅读(52)
推荐(0) 编辑
C++实现memcpy和memmove(含调试程序)
摘要:#include <iostream> #include <string> using std::cout; using std::endl; void* mymencpy(void* dest, void* src, size_t num) { char* d = (char*)dest; cha
阅读全文
posted @
2024-02-07 13:05
孜孜不倦fly
阅读(22)
推荐(0) 编辑
MySQL-进阶
摘要:一、MySQL体系结构 1.连接层:一些客户端和连接服务,完成连接处理、授权认证及相关操作 2.服务层:完成大多数核心服务的功能,比如SQL的分析和优化 3.引擎层:负责MySQL中数据的存储和提取 4.存储层:数据存储层,将数据存储在文件系统上,并完成与存储引擎的交互 二、存储引擎(MySQL的核
阅读全文
posted @
2024-02-06 11:41
孜孜不倦fly
阅读(8)
推荐(0) 编辑
常用GDB调试命令
摘要:1.启动gdb调试 gcc -g hello.c -o hello / gdb hello 2.退出调试 quit 3.给程序设置参数/获取设置参数 set args 10 20 show args 4.查看当前文件代码 list 行号/函数名(不加则从默认位置显示) 5.查看非当前文件代码 lis
阅读全文
posted @
2024-02-05 22:32
孜孜不倦fly
阅读(176)
推荐(0) 编辑
静态库和动态库
摘要:一、库的定义 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用者一些可以直接拿来用的变量、函数或类。 二、库的好处 方便保密;便于部署和分发 三、静态库和动态库的区别 静态库在程序的链接阶段被复制到程序中;动态库在程序运行时被系统动态地加载到内存中使用 四、静态库的制作
阅读全文
posted @
2024-02-05 21:52
孜孜不倦fly
阅读(9)
推荐(0) 编辑
虚函数工作原理
摘要:1.当调用一个对象对应的函数时,通过对象内存中的vptr(虚函数表指针)找到该类的vtbl(虚函数表) 虚函数表位于只读数据段(.rodata),即:C++内存模型中的常量区 虚函数代码则位于代码段(.text),也就是C++内存模型中的代码区 虚函数指针跟随对象实例被创建,在堆区或者栈区(只有使用
阅读全文
posted @
2024-02-01 15:09
孜孜不倦fly
阅读(24)
推荐(0) 编辑