如何在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...