第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Mac OSX 中制作dylib和使用dylib?

如何在Mac OSX 中制作dylib和使用dylib?

ITMISS 2018-11-15 19:15:10
如何在Mac OSX 中制作dylib和使用dylib
查看完整描述

1 回答

?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個贊

 如何在Mac OSX 中制作dylib和使用dylib
  1.首先是構(gòu)建一個函數(shù)庫
  編輯add.c
  int add(int a,int b)
  {
  return a+b;
  }
  int axb(int a,int b)
  {
  return a*b;
  }
  保存
  其中兩個函數(shù)  add axb
  這是簡單的寫的,復(fù)雜的自己開發(fā),這里主要介紹方法
  2.編譯函數(shù)庫
  gcc -c add.c -o add.o
  //下面是linux系統(tǒng)時
  ar rcs libadd.a add.o
  //如果你是linux 就用這種庫
  //下面是Mac OSX
  gcc add.o -dynamiclib -current_version 1.0 -o libadd.dylib
  得到 libadd.dylib
  3.編輯testadd.c
  #include <stdio.h>
  #include <stdlib.h>
  #include <dlfcn.h>
  int main(int argc,char *argv[])
  {
  int a,b;
  a=10;
  b=9;
  int c;
  c=add(a,b);
  printf(“%d\n”,c);
  return 1;
  }
  保存
  4.編譯testadd.c
  gcc testadd.c -o testadd -L. -ladd
  ./testadd
  輸出19
  5.編輯dladd.c
  #include <stdio.h>
  #include <stdlib.h>
  #include <dlfcn.h>
  int main(int argc,char *argv[])
  {
  int *ab;
  void *h=dlopen(“./libadd.dylib”,RTLD_LAZY);
  ab=dlsym(h,“add”);
  printf(“add=address is 0x %x\n”,ab);
  dlclose(h);
  return 1;
  }
  這個是為了查看函數(shù)庫在庫中的地址的
  6.編譯dladd.c
  gcc dladd.c -o dladd -ldl
  ./dladd
  add=address is 0x 23fe2



查看完整回答
反對 回復(fù) 2018-12-13
  • 1 回答
  • 0 關(guān)注
  • 1741 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號