现在的程序越来越复杂,由多个模块构成,如果把所有的模块和依赖都编译到一个单一的可执行文件中,不仅文件体积很大,而且也不利于模块更新;而且有些基础模块可以被多个程序共用,没必要各个程序都打包一份,因此就有了动态链接库。顾名思义,动态链接库就是可以动态地进行链接,在程序需要的时候才会进行加载,并且这份代码在内存里是共享的,在 Windows 中叫“Dynamic Link Library”,后缀是 dll,Linux 上叫“Shared Object”,后缀一般是“so”。
Hello, world!
下面是经典的打印“Hello, world!”的例子:
#ifndef __HELLO_H__
#define __HELLO_H__
void print(void);
#endif
/* hello.c */
#include <stdio.h>
void print(void)
{
printf("Hello, world!\n");
}
/* main.c */
#include "hello.h"
int main(void)
{
print();
return
… 阅读全文…