gcc编译器工具一般位于/usr/bin或者/usr/local/bin目录,但它会从其它位置运行各种编译器支持的应用程序,这个位置可能是
/usr/lib/gcc-lib/目录,GNU C/C++编译器的各个工具和GNU专用头文件都保存在这里。
头文件,一般位于/usr/include,包含头文件编译:gcc -I/指定路径/include hellworld.c
库文件,一般位于/lib或者/usr/lib,编译额外目录的库文件:gcc -L/指定目录 -l库名 helloworld.c
.a为静态库,.so为共享库(动态库)
静态库的生成及调用:(1)首先编写一个.c文件add.c,内容如下:
首先将其加-c选项编译为add.o文件:gcc -c add.c
(2)写一个add的头文件add.h,包含add的外部声名,内容如下:
(3)写一个主函数,test.c,内容如下:
gcc -c test.c 生成test.o
/usr/lib/gcc-lib/目录,GNU C/C++编译器的各个工具和GNU专用头文件都保存在这里。
头文件,一般位于/usr/include,包含头文件编译:gcc -I/指定路径/include hellworld.c
库文件,一般位于/lib或者/usr/lib,编译额外目录的库文件:gcc -L/指定目录 -l库名 helloworld.c
.a为静态库,.so为共享库(动态库)
静态库的生成及调用:(1)首先编写一个.c文件add.c,内容如下:
int add(int x, int y)
{
return x+y;
}
首先将其加-c选项编译为add.o文件:gcc -c add.c
(2)写一个add的头文件add.h,包含add的外部声名,内容如下:
int add(int, int);
(3)写一个主函数,test.c,内容如下:
#include <stdio.h>
#include "add.h" //这里是注意点,不要忘了包含相关函数的头文件。
int main(void)
{
int sum = add(3, 4);
printf("sum: %d\n", sum);
return 0;
}
gcc -c test.c 生成test.o

本文介绍了如何生成静态库*.a和动态库*.so,包括使用gcc编译器将源代码编译为对象文件,并最终构建库文件的过程。
最低0.47元/天 解锁文章
1201

被折叠的 条评论
为什么被折叠?



