Zlib记述:一
概述 zlib库是一个广泛使用的压缩/解压缩库 下面实现是用了zlib 1.3版本的代码和相关库 具体是使用了zlib源码中带的minizip 其中的minizip扩展提供了处理ZIP文件的功能 解压 在解压之前可能需要处理其他的很多工作,比如验证目录,验证目标文件是否存在等。这...
概述 zlib库是一个广泛使用的压缩/解压缩库 下面实现是用了zlib 1.3版本的代码和相关库 具体是使用了zlib源码中带的minizip 其中的minizip扩展提供了处理ZIP文件的功能 解压 在解压之前可能需要处理其他的很多工作,比如验证目录,验证目标文件是否存在等。这...
关于ASCII 字符数字转整数 数字转字符数字 字符与大小写转换 转大写 转小写 字符与十六进制转换 字符到十六进制 如果字符是 '0' 到 '9' 或 'A' 到 'F',可以通过条件判断来将字符转...
变量的读取 概述 一般来说,读取一个变量的内容,是从内存里面去取的 但是,在编译时启用优化选项后,编译器可能会对代码进行优化,以提高执行效率 优化手段-寄存器 一个常见的优化手段就是将一些频繁访问的变量存储在CPU寄存器中,而不是每次都从内存中读取 这种优化可以大幅度提升程序的性...
ATL下载 ATL 作为微软官方库,源码随 Visual Studio 安装包 默认集成 正确代码结构 接口定义(使用 IDL) 实现类(使用 ATL) 对象创建宏 客户端调用示例 完整示例 项目结构 ExampleComponent.idl 在 Visual Studio 中创...
C的结构体与对象模型 概述 C 不是“去掉 class 的 C++” C 主要通过“数据结构 + 普通函数 + 明确约定”组织程序 C没有构造函数 下面这段 只是在栈上定义了对象,成员没有自动初始化 此时读取: 会读取不确定值,行为可能未定义 应该明确初始化 C23 新增了空初始...
结构体布局、对齐、填充与联合体 为什么结构体存在填充字节? 假设平台要求: char:1 字节对齐 uint16_t:2 字节对齐 uint32_t:4 字节对齐 典型布局为: 成员 偏移 大小 version 0 1 填充 1 3 length 4 4 command 8 2 ...
所有权、错误处理与 goto cleanup 概述 C 没有析构函数和异常 资源管理依靠接口约定与控制流完成 四种所有权关系 拥有 owned 当前代码拥有这块内存,必须最终调用 free(),或者明确转交给其他对象 借用 borrowed process() 通常只在调用期间借...
函数 简述 isupper(c) 测试c是否为大写字母A~Z islower(c) 测试c是否为小写字母a~z isalpha(c) 测试c是否为大写字母或者小写字母 isdigit(c) 测试c是否为数字0~9 isxdigit(c) 测试c是否为是16进制数字0~9、a~f、...
权限 r 可读权限 4(8进制) w 可写权限 2(8进制) x 可执行权限 1(8进制) 创建文件夹 这里以777权限创建了一个文件夹 就是上面的读写可执行权限都有 文件相关 函数 mode “r” :以只读方式打开文件,该文件必须存在。 “w” :打开只写文件,若文件存在则文...
GNU 汇编器语法 示例 定义数据 nasm数据操作 GNU汇编器操作 使用直接操作数,要用$ 获取部分内存时,例如 64 寄存器的第一个字节 不在操作数中定义大小,而是在指令中定义 GNU汇编器操作后缀 b:1个字节操作数 w:2个字节操作数 l:4个字节操作数 q:8个字节操...
搜索当前标签