今天终于学会了如何创建一个C语言的库,就是把自己写的函数不放在主程序里面,而是放在独立的头文件和其他C文件中。这样可使主程序清晰,而且代码维护起来更容易。
比如写了个求中位数的函数median(),希望在主程序中调用median()但不出现它的代码,可以在主程序头部写上#include "median.h",median.h要和主程序放在一个目录下。median.h中的内容就只一行,是median()这个函数的原型声明,例如 extern int median(int [], int);,而median()函数的代码写在另一个文件median.c中。
编译和连接主程序时,需要多加一个文件median.c,即要用gcc -o main main.c median.c 。用上面说的方法,就可把自己写的函数作成C语言的库了。
另 一种方法是把所有东西都写到一个头文件median.h中,前面是函数原型声明int median(int[], int);,接着是函数的代码。这样编译和连接时,就无须增加median.c,只需 gcc -o main main.c。这样虽然只有一个文件,但是如果代码较多就会让头文件比较乱,所以把头文件和真正的代码分开是创建库的更合理的方法。
上面的总结主要参考了How C Programming Works和EasyBMP的源代码。记下此笔记,供以后查询。