C语言预处理基础知识笔记

  1. 以#号开头的命令称为预处理命令。

  2. 在编译和链接之前,还需要对源文件进行一些文本方面的操作,比如文本替换、文件包含、删除部分代码等,这个过程叫做预处理,由预处理程序完成。

    3.与其他编程语言相比,C/C++ 语言更依赖预处理器,所以在阅读或开发 C/C++ 程序过程中,可能会接触大量的预处理指令,比如 #include、#define 等。

  3. C源文件要编译、链接才能生成可执行程序

  4. 编译(Compile)将源文件(.c文件)转换为目标文件,VC/VS的目标文件后缀为.obj,GCC的目标文件后缀为.o。

  5. 编译是针对单个源文件的,一次编译操作只能编译一个源文件,多个源文件,需多次编译。

  6. 链接(Link)针对多个文件的,它会将编译生成的多个目标文件以及系统中的库、组件等合并成一个可执行程序。

  7. 预处理由预处理程序完成。进行编译时,自动调用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。

  8. 编译器会将预处理的结果保存到和源文件同名的.i文件中,

    例如 main.c 的预处理结果在 main.i 中。和.c一样,.i也是文本文件,可以用编辑器打开直接查看内容。

  9. C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等,

    合理地使用它们会使编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计。

c 复制代码
#include <stdio.h>

//不同的平台下引入不同的头文件
#if _WIN32  //识别windows平台

#include <windows.h>

#elif __linux__  //识别linux平台

#include <unistd.h>

#endif

int main() 
{
    //不同的平台下调用不同的函数
    #if _WIN32  //识别windows平台
    Sleep(5000);
    #elif __linux__  //识别linux平台
    sleep(5);
    #endif
    puts("http://c.biancheng.net/");
    return 0;
}
相关推荐
江沉晚呤时1 分钟前
C# 运行时类型创建:深入探索动态类型生成技术
开发语言·c#
ZK_H16 分钟前
观星者手记_开发日志1
c语言
zhangrelay40 分钟前
三分钟云课实践速通--C/C++程序设计--
linux·c语言·c++·笔记·学习·ubuntu
szial1 小时前
Python Click 教程:从函数到专业命令行工具
开发语言·python
Karle_1 小时前
为AI编辑器准备c++编译环境,onnxruntime、cmake、cl,网上坑太多备份记录后续方便使用。
开发语言·c++·编辑器
Dxy12393102161 小时前
JavaScript 字符串转数值(小数)
开发语言·javascript·ecmascript
努力努力再努力wz1 小时前
【MySQL 进阶系列】C/C++ 如何通过客户端库访问 MySQL?从连接原理到 API 调用流程详解(附完整demo代码)
服务器·c语言·数据结构·数据库·c++·b树·mysql
yu85939581 小时前
matlab实现ARMA(自回归移动平均)模型
开发语言·matlab·回归
lbb 小魔仙1 小时前
Ollama 本地部署大模型 + Python API 集成开发完整教程(2026最新版,含 GPU 加速配置)
开发语言·python
民乐团扒谱机1 小时前
【微实验】平滑轨迹的数学基石:二次贝塞尔曲线原理、插值逻辑、形态控制与MATLAB全解析
开发语言·matlab