一、软件相关概念 1.1 软件相关概念 1.1.1 ABI ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux:WINE Windows:Cygwin 1.1.2 API 系统级开发 汇编语言 C C++ 应用级开发 java Python go php perl ruby bash 1.2 C语言程序的实现过程 C程序源代码——预处理——编译——汇编——链接 C语言的程序编译主要经过四个过程: 预处理:(Pre-Processing) 将所有的#define删除,并且展开所有的宏定义 处理所有的条件预编译指令,比如#if #ifdef #elif等 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置 删除所有注释 添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号 保留所有的#pragma编译器指令,因为编译器需要使用他们 编....