摘要:
c++中的new、operator new和placement new 一、new new(也称作new operator),是new 操作符, 不可重载 new操作 会执行以下三个步骤 1. 调用 类的(如果重载了的话)或者全局的 operator new分配空间 2. 用类型后面列的参数列表来 阅读全文
摘要:
libevent 快速入门 一.简介 libevent是一个c语言写的事件驱动库,轻量级,专注于网络,跨平台特性好,支持多种 I/O 多路复用.支持I/O,定时器和信号等事件,允许设置注册事件优先级. 二.基本使用场景和事件流程 (1)初始化事件根基(槽) event_base_new()函数分配并 阅读全文
摘要:
工程管理与makefile 一、为什么需要makefile和make 一个工程中的源文件可能很多,按照类型、功能、模块分别放在若干个目录中,为了有效地管理软件工程,更高效地编译整个工程,需要用到makefile 和 make 命令工具。Linux 程序员须学会写makefile,使用GNU make 阅读全文
摘要:
链接可分为静态链接和动态链接 静态链接 :对函数库的链接是放在编译时期完成的是静态链接 生成静态链接库的步骤: (1)先将源文件编译成 .o 文件: (源文件可从上一篇查看) 生成的文件为 printA.o printB.o , c 的编译选项,表示只执行到编译,输出目标文件。 无论是静态库文件还是 阅读全文
摘要:
gcc/g++ 编译与链接 编译与链接的过程可以分解为四个步骤:预处理、编译、汇编、链接 预处理 :源代码文件和相关的头文件,被预处理器cpp预处理成一个后缀为 .i 的文件(选项: E ) 编译 :把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后,产生相应的汇编代码文件,后缀为 阅读全文
摘要:
二叉树——遍历篇 二叉树很多算法题都与其遍历相关,笔者经过大量学习、思考,整理总结写下二叉树的遍历篇,涵盖递归和非递归实现。 1、二叉树数据结构及访问函数 2.3、非递归遍历——借助栈 借助栈,可以实现非递归遍历。 在这里三种非递归遍历都总结和介绍一种算法思路,其栈中保存的节点可以用于路径搜索类的题 阅读全文