在Ubuntu系统中,使用GCC编译动态链接库(也称为共享库)的步骤如下:
打开终端。
创建一个源代码文件。例如,创建一个名为hello.c
的文件,包含以下内容:
#include <stdio.h>
void hello() {
printf("Hello, World!\n");
}
gcc -fPIC -c hello.c -o hello.o
这里,-fPIC
选项表示生成位置无关代码(Position Independent Code),-c
选项表示只编译不链接,hello.o
是输出的目标文件。
gcc
将目标文件链接成动态链接库。在终端中输入以下命令:gcc -shared -o libhello.so hello.o
这里,-shared
选项表示生成共享库,libhello.so
是输出的动态链接库文件名(通常以lib
开头,以.so
结尾)。
现在,你已经成功创建了一个名为libhello.so
的动态链接库。要在其他程序中使用这个库,你需要将其路径添加到LD_LIBRARY_PATH
环境变量中,然后使用gcc
编译并链接你的程序。例如:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/library
gcc main.c -L/path/to/your/library -lhello -o my_program
这里,main.c
是你的程序源代码文件,-L
选项指定库文件的路径,-l
选项指定库名称(不包括lib
前缀和.so
后缀),my_program
是输出的程序文件名。