- 单源文件
#include <stdio.h>
int main(){
printf("Hello\n");
return 0;
}
gcc -o hello hello.c
- 多源文件
gcc -o sum main.c function.c
./sum - 带有头文件
gcc -c -I/home/test/include main.c
指定头文件路径 (大写i 参数,不是L) - 生成动态库函数
4.1 编译子函数源代码,必须要使用–fPIC
xy@xy-XPS-13-9343:~/Desktop/JNI $ gcc -c -fPIC f1.c
xy@xy-XPS-13-9343:~/Desktop/JNI $ gcc -c -fPIC f2.c
4.2 使用编译器-shared 参数将目标文件连接成动态库.so
xy@xy-XPS-13-9343:~/Desktop/JNI $ gcc -o libt.so -shared f1.o f2.o
4.3 库函数的使用(法一:直接给出库函数路径)
xy@xy-XPS-13-9343:~/Desktop/JNI $ gcc -c main.c
gcc -o main main.c -L ./ -lt
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
4.4 库函数的使用(法二:搜索库函数)
gcc -o main main.c -L ./ -lt
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
reference
Linux下动态库的生成和使用