Tag: jsctypes

在Visual Studio中制作适合由Mozilla中的js-ctypes使用的C DLL

正如主题所说,我正在尝试做的与使用Visual Studio 2012相似。 我可以构建和生成DLL,我可以在javascript中加载该DLL,但我无法访问该DLL中的函数。 查看DllExp中的DLL显示没有函数,表明DLL有问题。 DLL是使用“Empty Project”模板创建的新C ++项目。 显着的设置是; 常规 – >配置类型设置为DLL 没有优化。 没有预编译的头文件。 编译为C代码 调用约定__cdecl 用于编译和链接的命令行,如果有一个我认为不重要的设置,则是 /GS /TC /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /sdl /Fd”Debug\vc110.pdb” /fp:precise /D “_WINDLL” /D “_MBCS” /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa”Debug\” /EHsc /nologo /Fo”Debug\” /Fp”Debug\StreamInterop.pch” 对于链接器 /OUT:”C:\Work\VehicleTracker-DotNet\StreamInterop\Debug\StreamInterop.dll” /MANIFEST /NXCOMPAT /PDB:”C:\Work\VehicleTracker-DotNet\StreamInterop\Debug\StreamInterop.pdb” /DYNAMICBASE “kernel32.lib” “user32.lib” “gdi32.lib” “winspool.lib” “comdlg32.lib” […]

Mozilla使用带有js-ctypes的C DLL

我想建立一个DLL,然后使用它与Firefox扩展。 我设法在Windows下使用gcc构建DLL: #include int add(int a,int b) { return(a+b); } 我现在尝试通过我的dll使用它。 阅读了一些post,尤其是这篇文章后,我无法完成这项工作: 将二进制组件引用到js-ctypes 每次我尝试ctypes.open时,都会收到错误消息: 无法加载库 。 但是,DLL路径是正确的。 这是JS代码: Components.utils.import(“resource://gre/modules/ctypes.jsm”); AddonManager.getAddonByID(“greenfox@octo.com”, function(addon) { var libcPath = addon.getResourceURI(“components/library.dll”); if (libcPath instanceof Components.interfaces.nsIURI) { var libc = ctypes.open(libcPath.path); var libc = ctypes.open(libc); /* import a function */ var puts = libc.declare(“add”, /* function name */ ctypes.default_abi, /* call […]