Category Archives: C/C++

Linux文件的基本操作相关函数

1、Linux虚拟地址空间

  • Linux可执行文件格式为ELF,通过file xxxx可以查看文件类型
  • 虚拟地址空间在32位系统中为4G,每个应用程序都有独立的4G
  • 地址位从高到低分别为:
    • 3G ~ 4G:Linux Kernel,内存管理、进程管理、设备驱动、VFS虚拟文件系统
    • 0G ~ 3G
    • 环境变量
    • 命令行参数
    • 栈空间
    • 共享库
    • 堆空间
    • ELF
    • 未初始化的全局变量
      • 已初始化的全局变量
      • 代码段、二进制机器指令
      • 受保护的地址(0 ~ 4K)

2、Linux文件基本组成[……]

继续阅读

Makefile的基本使用

1、为什么要使用makefile

  • 在编译项目时,gcc相关参数非常多,如gcc *.c -I include -Wall -g -03 -D DEBUG -…..
  • 这是一个代码管理工具,外部编译时只需要执行makefile即可
  • 屏蔽编译的复杂过程,源代码以最简单的方式生成可执行程序

2、ma[……]

继续阅读

gdb的基本使用

1、前期准备

  • gcc编译的时候要带参数-g,编译出来的可执行文件才带断点信息,否则无法断点;
    • gcc -g xxx.c -o xxx.out // xxx.c为源文件,.out为输出可执行文件名字

2、几条命令

  • list
    • 简写为l
    • 查看源代码,默认为main函数文件
    • l xxx[……]

      继续阅读

VIM的基本使用

1、光标移动

  • h —> 往前
  • j —> 往下
  • k —> 往上
  • l —> 往后
  • 0 —> 行首
  • $ —> 行尾
  • gg —> 文件首部
  • G —> 文件尾部
  • 20G —> 第20行

2、删除操作(实为剪切)

  • x —> 删除光标后字符
  • X —> 删除光标前字符
  • dw —> 删除光标后单词
  • d0 —> 删除到行首
  • d$、D —> 删除到行尾
  • dd —> 删除当前行
  • 4dd —> 删除当前开始的4行
  • u —> 撤销
  • Ctrl+r —> 反撤销
    [……]

    继续阅读