1
在談到我的第一篇中使用的DLL:Mozilla use a C DLL with js-ctypes建立由Mozilla的JS-ctypes的
我試圖建立從一個Mozilla Firefox擴展使用的DLL。我創建了一個C代碼並使用GCC進行編譯。
下面是C語言代碼:
#include<stdio.h>
int add(int a,int b)
{
return(a+b);
}
下面是彙編行:
gcc -c library.c
gcc -shared -o library.dll library.o -Wl
DLL將井編譯,我可以dllexp打開它,可以看到add()方法裸露。
的問題是,當我嘗試從我的分機使用它,我總是得到消息:錯誤:無法打開庫
這裏是我的JavaScript調用:
var libc = ctypes.open("C:\\WINDOWS\\system32\\user32.dll"); //OK
var libc2 = ctypes.open("C:\\WINDOWS\\system32\\library.dll"); //KO
看來這個DLL不能被Firefox打開,但我想知道爲什麼。我沒有看到任何關於構建用於Firefox擴展的DLL,似乎我們可以使用每個經典的DLL庫。
有什麼想法?謝謝
這樣做,非常感謝,如果沒有您的幫助弗拉基米爾,我永遠無法做到這一點,這張票和以前的其他人! – frinux 2012-02-26 18:22:40
更確切地說,只需要C文件中的聲明。編譯行與-nostdlib將阻止代碼運行kernel32函數 – frinux 2012-02-27 15:00:37