《嵌入式LINUX与物联网软件开发 C语言内核深度解析》学习5——预处理、函数库

本文深入探讨了C语言的预处理过程,包括预处理的内容和意义,以及#ifdef与#if defined的区别。同时,对比了静态库和动态库的特性,并详细讲解了如何制作和使用这两种库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C编译连接流程

在这里插入图片描述

GCC中一些偏僻的扩展名

扩展名 含义
.C C++源代码文件
.i 预处理过的C源代码文件
.ii 预处理过的C++源代码文件
.m Objective-C源代码文件
.out 链接器生成的可执行文件
.s 汇编语言源代码文件,后期不再进行预处理操作
.S 汇编语言源代码文件,后期还会进行预处理操作,可以办好预处理指令

预处理的内容和意义

意义:使编译器实现功能变得更为专一。
内容:文件包含、宏定义、条件编译、一些特殊的预处理关键字、去掉程序中的注释

#ifdef和#if defined的区别

#if defined可以组成复杂的预编译条件,例:
#if defined(A) && defined (B)
<code>
#endif

静态库和动态库比较

使用静态库ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值