Linux系统学习笔记(第二天)

本文是Linux系统学习笔记的第二天内容,主要探讨预处理指令的使用,包括静态库、共享库的概念解析,以及动态加载共享库的方法。此外,还介绍了在Linux系统中的一些辅助工具。
摘要由CSDN通过智能技术生成

预处理指令

#include	文件包含,区分""和<>的区别
	#define		定义宏常量或宏函数
		#		把标识符转换成字符串
		##		合并标识符
	#undef		删除宏
	#if			
	#ifndef
	#elif	
	#endif
	#error		在编译期间产生错误
	#warning	在编译期间产生警告
	#pragma
		#pragma GCC dependency 用于监控文件,防止所依赖的文件,修改后而不知道
		#pragma GCC poison 用于禁用某些标识符
		#pragma pack(n) 设置结构、联合的补齐和对齐的字节数
			n的值必须比默认的要小
			对齐边界必须是2的较小次方
	#line	指定当前行的行号

库就是目标文件的集合,我们把不需要升级维护的代码打包合并在一起,方便使用,也可以对源代码进行保密。
静态库:
	静态库使用时是把被调用的代码复制到调用模块中,然后在执行程序时,静态库就不需要了。
	静态库的执行速度快。但占用空间大,当库中的内容发生变化时,需要重新编译出新的程序,因此不能轻易修改库的内容。
共享库:
	只是在调用模块中嵌入代码在库的相对位置的地址,当执行程序时,共享库会和程序一起加载到内存中,当执行到调用共享库中的代码的指令时跳转到共享中执行,执行完毕后再跳转回来。
	占用空间小,方便更新(共享库发生变化后程序不需要再次编译),相对于静态库,它的执行效率略低。
静态库的扩展名为.a,共享库(动态库).so

静态库

1、创建静态库
	编写源代码:vi .c/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值