.h .lib .dll文件
.h文件是编译器编译时必须要的,预处理会找到相对应的头文件中的声明,才可以顺利完成编译。如果这个文件中某个函数使用没有在本文件中声明,也没有在包含的头文件中声明,就会出错。
.lib是链接时必须的, 告诉链接器调用的函数在哪个DLL中,函数执行代码在DLL中的什么位置,它起到桥梁的作用。如果生成静态库文件,则没有DLL ,只有lib,这时函数可执行代码部分也在lib文件中
.dll文件是运行时必须的。
静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,动态库可以节省内存资源。
GCC使用
C程序的栈(函数调用)
void swap(int *a,int *b)
{
int c;
c = *a;
*a