mac呼叫c 的問題處理

2021-09-22 02:24:24 字數 1220 閱讀 8746

如何在mac osx 中製作dylib和使用dylib

本文本著簡單易讀的方式給朋友們,本人為原創

1.首先是構建乙個函式庫

編輯add.c

int add(int a,int b)

return a+b;

int axb(int a,int b)

return a*b;

儲存其中兩個函式  add  axb

這是簡單的寫的,複雜的自己開發,這裡主要介紹方法

2.編譯函式庫

gcc -c add.c -o add.o

//下面是linux系統時

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

#include

#include

int main(int argc,char *ar**)

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

#include

#include

int main(int argc,char *ar**)

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;

這個是為了檢視函式庫在庫中的位址的

6.編譯dladd.c

gcc dladd.c -o dladd -ldl

./dladd

add=address is 0x 23fe2

這是輸出的位址了

Mac環境下C 呼叫shell命令

正在優化unity打包工程。想用c 呼叫shell指令碼來實現打包xcode匯出ipa.由於對c 不是很熟悉。呼叫shell指令碼的時候遇到一些問題。現在把呼叫shell指令碼的c 在此記錄下。使用terrminal呼叫shell指令碼,可以使用終端直 到執行結果。string shell proj...

C 批處理呼叫方法

當批處理和aspx不在同一目錄中時,最好用workingdirectory設定啟動的程序的初始目錄為批處理所在目錄,否則如上例中批處理新建的目錄就應在aspx所在目錄中而不是批處理所在目錄了!bat.aspx 程式 複製 如下 page language c autoeventwireup true...

Remoting遠端處理事件呼叫的問題

remoting遠端處理事件呼叫的問題 title 在.net remoting技術中可以遠端進行事件通知,但是我在使用時發現問題,提示資訊為 不允許型別 system.delegateserializationholder 和從中派生的型別 例如 system.delegateserializat...