tuple_variant_any_string_view_Singleton使用 Virutal 析构函数99%的类的析构函数都要声明成virtual,因为要继承给子类,然后子类能正确释放自己的资源 1234567891011121314151617181920212223242526272829303132333435363738class Base{public: Base() { std::cout << "Base ConS 2021-01-11 C++primer读书笔记 c++17
VsStudio制作静态库-mutable-explicit等用法 mutable关键字 class中的常函数,当函数中不需要修改类中的变量时将函数声明为 const 函数,配合const&对象使用,(const的位置和override出现的位置相同,说明这个地方是修改函数属性的), 如果要在class的const函数中修改类中变量,则将成员变量声明为mutable 123456789101112131415161718192021222324252627 2021-01-06 C++primer读书笔记 mutable,explicit
template和namespace简单使用 template <>中 既可以传递类型,也可以传递值 模板函数 1)推断类型 123456789101112131415template<typename T>void Print(const T& value){ std::cout << value << std::endl;}int main(){ 2021-01-06 C++primer读书笔记 c++
static关键字的3种用法 Class中的static的使用 static成员 static成员函数 函数参数中没有隐含的this指针 12345678910111213141516171819202122232425262728293031#include <iostream>#include "../src/include/local.h"class Singleton { 2021-01-06 编译链接 static关键字
TinyHTTPServer源码解析 TinyHTTPServer源码分析目录树:源码目录源码地址: 日志功能 log/ 数据库连接池sql/ 线程池 include/threadpool.h 定时器 timer/: 封装的基本的线程同步机制:locker/ http协议解析: http/ 运行选项配置 config/ 头文件 include/ 资源文件 root/ 提供8个配置选项: -p 指定监听端口 -l 0同步写入 2021-01-02 Linux学习 HttpServer
LDD(linux设备驱动)环境搭建 LDD(linux设备驱动程序)环境搭建 2020/12/24 10:08 vbox下安装ubuntu5.04 (i386) iso下载地址 安装gcc sudo apt-get install gcc (应该是本地源吧 gcc version 3.3.5) 将下载的linux2.6.10源码 tar -xzvf xx解压到/usr/src目录,然后进入此目录 1234make old 2020-12-24 LDD 驱动
extern "C"的原理 c++符号修饰和函数签名 gcc -fleading-underscore 和 -fno-leading-underscore来开关在C语言符号前面加上下划线_ C++为了支持类,继承,虚机制,重载,命名空间等特性,发明了**符号修饰(name decoration)or符号改编(name mangling)**机制 函数签名:包含函数信息:函数名,参数类型,所在命名空间等 2020-12-09 编译链接 GCC
GCC__attribute__部分使用方法 GNU __attribute__(())部分使用方法 一部分 自定义段(将全局变量或函数放入自定义的段) 例如:linux内核__init__ #define __init__ __attribute__((section(".init"))) 3种写法都可以 12345678910111213141516 #include <stdio.h> 2020-12-08 编译链接 GCC
通过objcopy将2进制文件作为.o中的一个段 通过objcopy将2进制文件作为.o中的一个段(.data)然后静态链接到执行文件,可以在文件中操作2进制文件的内容(文本,图片等) objcopy -I –input-target 输入文件的格式 -O –output-target 创造输出文件的格式 -B –binary-architecture 设置输出的系统架构 例如:将文本文件(这里直接拿.c代码 ascii text)生成为 2020-12-08 编译链接 编译链接
使用UNIX域Socket传递文件描述符 [使用UNIX域Socket传递文件描述符] 使用sendmsg(),recvmsg() fork后子进程继承父进程进程表象的描述符表(所有描述符项目),所以子进程和父进程相同的fd都共享了相同文件表象. 不同进程打开相同路径文件的情况: 操作文件的i节点是相同的,但是在内核文件表中维护了2个不同的文件表象(2个独立的进程), 2个进程间传递fd的目的就是使2个 2020-11-18 Linux学习