C语言多文件编程
本文识别码为: 23B22-B:3
C语言多文件编程 All in One!
动态库和共享库
C语言中想要用库有两种形式,一种是动态库,一种是共享库。动态库常以.so
(shared object)为后缀名,静态库常以.a
(archive)为后缀名。
一句话说明: 动态库是在编译后动态链接的,不占用可执行文件的空间,而且其代码可以随时更改而不用改源文件。
静态库是编译的时候要打包到可执行文件中的,所以其可能会导致程序体积增大。
但是,在用动态库的时候也需要在外部打包上。
include是什么
#include 其实就是将那个头文件中的内容复制到本文件中。
为什么需要include保护
有时候你include的那个文件中也引用了一个很常用的库,先暂且叫它foo.h
但是你在你的main.c
中也要用到这个foo.h
,
那么编译之后实际上就会#include
两次这个foo.h
,那就得用include保护了。现在一般有两种方式来include保护。
#ifndef方式
// in xxx.h
#ifndef XXX_H
#define XXX_H
// your code here
#endif
这种方式不言而喻,一目了然,include
一次过后就不会执行代码了。
#pragma once方式
这种方式比较简单,在文件开头加上#pragma once
就行。注意,不是所有编译器都支持,但是现在主流编译器都支持,比较方便,所以现在一般就可以用它了。
makefile
Last modified on 2023-02-22