C語言創建共享庫(動態庫)步驟


C語言創建共享庫(動態庫)步驟:

創建sth.c,共享庫源文件:

//sth.c庫源程序 
unsigned long long sth(unsigned int x, unsigned int y)
{
  return (x+y+x*y);
}

創建測試文件:

//test.c
#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
  unsigned int x, y;
  sscanf(argv[1], "%u", &x);
  sscanf(argv[2], "%u", &y);

  long long res = sth(x, y);//調用共享庫文件的定義的函數
  printf("answer is %u\n", res);
  return 0;
}

生成庫文件:

首先使用 gcc 的-fPIC 選項為動態庫構造一個目標文件:

gcc -fPIC -Wall -c sth.c

接下來,使用-shared 選項和已創建的目標代碼,生成一個動態庫libsth.so:

gcc -shared -o libsth.so sth.o

下面編譯測試主程序,它將會鏈接到剛生成的動態庫 libsth.so:

gcc -o test test.c -L . -lsth
sudo cp libsth.so /lib
./test 5 6
answer is 41


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM