c语言调用so库函数并生成可执行文件

Cat.c




int add(int a,int b){
   return a + b;
}






生成so
gcc -fPIC -shared cat.c -o libcat.so




main.c


#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>


typedef int(* Add)(int, int)


int main(){
  void * handler = dlopen(“./ libcat.so”,RTLD_LAZY); //延迟升级模式,返回句柄
  Add add = NULL;
  *(无效**)(&添加)=对dlsym(处理程序中, “添加”);
  int result = add(2,5);
  的printf( “%d \ n”个,结果);
返回0;
}






- 生成可执行文件main; ./ main
gcc -rdynamic -o main main.c -ldl





猜你喜欢

转载自blog.csdn.net/u010945409/article/details/80229346