Linux调用动态库的简单示例(linux调用动态库)
随着Linux应用的日益普及,Linux调用动态库也变得日渐重要。动态库开发中,动态库主要是用C/C++编写,但实际上,任何语言开发的库文件,都可以被其他语言引用。接下来,将以Linux系统为例,介绍调用动态库的简单示例。
1.动态库制作:Linux系统中主要使用gcc编译生成动态库,生成的动态库尾缀为“.so”,例如编译一个test.c文件,则可以使用“gcc -shared -fPIC -o libtest.so test.c”来生成一个动态库libtest.so;
2.调用动态库:如果要使用这个动态库来编写程序,可以使用“gcc -L /location -ltest -o test main.c”来进行编译,“-L /location”用来指定动态库的位置,“-ltest”用来指定动态库的名称,例如:gcc -L /usr/lib -ltest -o test main.c,因此,要想在源代码中使用到动态库,需要使用“#include”来引用头文件,然后就可以在程序中使用到动态库中声明的函数;
3.程序实现:现在我们假设动态库“libtest.so”有两个函数”add”和”sub”,代码如下:
test.h
“`cpp
int add(int a,int b);
int sub(int a,int b);
test.c
```cppint add(int a,int b)
{return a+b;
}int sub(int a,int b)
{return a-b;
}
main.c
“`cpp
#include
#include
int main(int argc,char *args)
{
int num1=3,num2=5;
int sum,diff;
sum=add(num1,num2);
diff=sub(num1,num2);
printf(“%d+%d=%d\n”,num1,num2,sum);
printf(“%d-%d=%d\n”,num1,num2,diff);
return 0;
}
4.编译运行:上述代码编辑完毕后,运行 make 编译和生成可执行文件:
```cppgcc -c test.c
gcc -shared -fPIC -o libtest.so test.ogcc -L ./ -ltest -o test main.c
./test//输出
3+5=83-5=-2
以上就是在Linux中调用动态库的示例代码,动态库的引用可以为后续的程序开发提供便利,是应用中经常使用的一种技术资源。