``` #include<stdio.h> static int add(int a,int b){ return a+b; }``` 如何在Linux上创建动态链接库?
时间: 2024-10-20 09:05:20 浏览: 20
在Linux上创建动态链接库(DLL)通常涉及到以下几个步骤,但这里我们将重点讨论如何编写并编译C/C++代码来创建一个简单的动态库示例:
首先,定义一个静态链接库函数`add`,就像你给出的代码片段那样:
```c
#include <stdio.h>
// 动态链接库接口
static int add(int a, int b);
```
然后,你可以将其放入单独的源文件中,如`dynamic_library.c`:
```c
// dynamic_library.c
int add(int a, int b) {
return a + b;
}
```
接着,在另一个源文件中(例如`main.cpp`),导入这个动态库函数并测试它:
```cpp
#include "dynamic_library.h" // 注意这里的路径可能需要更改
int main() {
int result = add(3, 5);
printf("Sum: %d\n", result);
return 0;
}
```
要在Linux上创建动态库,你需要执行以下步骤:
1. 编译为共享对象(`.so`文件):
使用GCC(GNU Compiler Collection)编译器,命令类似于:
```shell
gcc -shared -o libdynamic_library.so dynamic_library.c
```
`-shared`选项告诉编译器创建一个共享库。
2. 添加可执行程序依赖于库:
在`main.cpp`编译时添加对动态库的链接,命令可能是:
```shell
g++ -ldynamic_library main.cpp -o main
```
`-Lpath/to/library`指定包含动态库的目录,`-ldynamic_library`表示要链接的库名。
运行`main`程序会验证动态库的功能。
阅读全文