逆向_13内存分配及文件操作相关函数

  1. 逆向-013.内存分配-文件读写
    1. #define
  2. 重复包含
  3. 内存分配与释放
  4. 文件操作相关函数

逆向-013.内存分配-文件读写

#define

  • 无参数的宏定义的一般形式为:# define 标识符 字符序列
  • 带参数宏定义:#define 标识符(参数表)字符序列
    • 宏名标识符与左圆括号之间不允许有空白符,应紧接在一起.
    • 宏与函数的区别:函数分配额外的堆栈空间,而宏只是替换.
    • 为了避免出错,宏定义中给形参加上括号.
    • 末尾不需要分号.
    • define可以替代多行的代码,记得后面加 \

重复包含

  • 解决方法1

    #if !defined(ZZZ)        
    #define ZZZ                
    //代码段
    #endif
  • 解决方法2

    #pragma once

内存分配与释放

  • 简单使用

    int* ptr;//声明指针        
    
    //在堆中申请内存,分配128个int        
    ptr = (int *)malloc(sizeof(int)*128);        
    
    //无论申请的空间大小 一定要进行校验 判断是否申请成功        
    if(ptr == NULL)        
    {        
        return 0;    
    }        
    
    //初始化分配的内存空间        
    memset(ptr,0,sizeof(int)*128);        
    
    //使用。。。        
    *(ptr) = 1;        
    
    //使用完毕 释放申请的堆空间        
    free(ptr);        
    
    //将指针设置为NULL        
    ptr = NULL;        
  • 注意事项

    • 使用sizeof(类型)*n 来定义申请内存的大小
    • malloc返回类型为void*类型 需要强制转换
    • 无论申请的内存有多小 一定要判断是否申请成功
    • 申请完空间后要记得初始化.
    • 使用完一定要是否申请的空间.
    • 将指针的值设置为NULL.

文件操作相关函数

1、fopen函数

2、fseek函数

3、ftell函数

4、fclose函数

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 787772394@qq.com

文章标题:逆向_13内存分配及文件操作相关函数

本文作者:二豆子·pwnd0u

发布时间:2020-11-21, 16:21:19

最后更新:2023-05-18, 09:49:50

原始链接:http://blog.codefat.cn/2020/11/21/%E9%80%86%E5%90%91-13%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D%E5%8F%8A%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C%E7%9B%B8%E5%85%B3%E5%87%BD%E6%95%B0/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

/*爱心代码*/ /*雪花效果*/ /*百度代码自动提交*/