读书笔记2

2018-04-20  本文已影响4人  李相赫的乐芙兰

链接中函数和变量统称为符号,函数名或变量名就是符号名,链接过程基于符号才能完成,每个目标文件有一个符号表,记录了目标文件中所用到的所有符号,每一个符号有一个符号值,对变量和函数来说符号值就是它们的地址

不同编译器采用不同的名字修饰方法,即函数签名不同,所以不同编译器生成的目标文件不能正常链接

非root权限进程,不能监听80端口,http请求的默认接口为80端口

extern类型的变量,在.h文件中声明,但赋值必须在.cpp文件中,否则会所有包含改.h文件的.cpp文件都会报错:重定义,多次初始化。这是因为编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号。强符号不可被多次定义。

extern "C"{}将大括号内的代码当做C语言代码处理

c++下的mysql接口不是线程安全的

std::string是线程安全的

单例在使用时创建初始化,而有时候更希望在程序启动时初始化,这样如果失败了会提前暴露问题

内存碎片问题在现代操作系统中已经得到比较好的解决,除非内存的使用频率超过了操作系统的处理速度,这时候才需要内存池

内存池的优势在于,程序分配内存,实际上需要一层层调用库函数,而用内存池只是简单的指针交换

上一篇下一篇

猜你喜欢

热点阅读