Linux学习:编译相关

Linux学习:编译相关

bingliaolong Linux 1周前 7 0

概述 编译阶段 编译阶段是整个编译流水线中最复杂、最核心的阶段——它是编译器的"大脑" 定义 编译阶段把预处理后的 C/C++ 源码(纯文本)翻译成汇编语言(或 LLVM IR) 这个阶段要完成"理解高级语言的含义,并用低级语言表达出来"这...

Linux学习:预处理相关

Linux学习:预处理相关

bingliaolong Linux 2周前 7 0

概述 预处理阶段的本质 对源码做文本级别的变换,把编译器不认识的预处理指令(#开头的东西)全部处理掉,输出一个纯粹的、编译器可以直接解析的 C/C++ 代码文件 宏替换是其中最核心的操作,但 #include 展开和条件编译同样重要——实际项目中,#include 展开带来的代码...

Linux学习:二进制、elf

Linux学习:二进制、elf

bingliaolong Linux 2周前 8 0

二进制文件类型 概述 Windows 有好几种不同的二进制格式 PE/COFF 用于 .exe/.dll/.obj/.sys 独立的 .pdb 格式 独立的 .lib 格式 Linux 几乎全部统一为 ELF 格式 可执行文件、共享库、目标文件、内核模块、core dump 全都...

Linux学习:gdb、debugging

Linux学习:gdb、debugging

bingliaolong Linux 2周前 5 0

概述 Windows调试流程 Linux/GDB 的对应流程: 区别 Windows 把调试信息放在独立的 .pdb 文件里,需要你手动指定路径 Linux 把调试信息(DWARF)直接嵌入 .o / 可执行文件 / .so 中(编译时加 -g 选项),所以大部分情况下你不需要额...

Linux学习:grep、tmux、kill、signal

Linux学习:grep、tmux、kill、signal

bingliaolong Linux 2周前 13 0

grep 基础的用法 常用的选项 组合使用 上下文显示 正则表达式 管道组合(grep 的精髓) tmux 三层结构 前缀键 所有快捷键都要先按一个"前缀键",默认是 Ctrl+b 比如"分屏"的操作是 Ctrl+b 然后松开,再按 % 会...

Linux_进程地址空间相关

Linux_进程地址空间相关 14

bingliaolong C++ Linux 2周前 8 0

进程地址空间 概述 示例代码 图示 内核空间 内核空间是什么 内核空间是进程虚拟地址空间的高地址部分,在 64 位 Linux 上位于 0xFFFF800000000000 以上,占 128TB 它和用户空间的根本区别不是"地址高低",而是页表属性: 内核空间...

MASM:概述一

MASM:概述一

bingliaolong Compilation 8个月前 13 0

基础 NASM 开源、跨平台汇编器(支持 Windows、Linux、macOS) 特点 语法简洁严格(如内存访问必须用 [ ] 包裹) 无自动类型推断(需显式指定操作数大小,如 mov word [var], 1) 支持直接生成纯二进制文件(如引导扇区程序) 应用 操作系统开发...

Shell学习总结一

Shell学习总结一

bingliaolong Shell 1年前 6 0

基本语法 Shebang 注释 变量 变量名不能包含空格,等号两边也不能有空格 引用变量使用$符号 使用readonly命令将变量设置为只读 使用unset删除变量 字符串 单引号内的内容原样输出,变量不会被解析 双引号内的内容会解析变量和转义字符 获取字符串长度 字符串拼接 数...

gcc/g++编译器

gcc/g++编译器

bingliaolong Linux 6年前 13 0

gcc/g++介绍 概述 gcc和g++都是GNU(组织)的一个编译器 区别 后缀为.c的文件gcc把它当做c程序,g++当做c++程序。 后缀为c++的两者都当做c++程序。 其他 对于cpp程序,无论gcc或者是g++编译阶段都是相同的 都是用的gcc进行编译 但是在链接阶段...

Linux 高性能服务器编程:Libevent

Linux 高性能服务器编程:Libevent 6

bingliaolong Linux 4年前 10 0

概述 Linux服务器程序必须处理三类事件: I/O事件 信号 定时事件 在处理这三类事件时通常需要考虑三个问题: 统一事件源 可移植性 对并发编程的支持 I/O框架概述 I/O框架库以库函数的形式,封装了较为底层的系统调用,给应用程序提供了一组方便使用的接口 这些库函数往往比程...

扫一扫二维码分享