nodejs如何调用动态链接库(dll)呢?写一个addon来处理,写此文抛砖引玉。
来源:互联网 发布:欧元符号 mac 编辑:程序博客网 时间:2024/04/28 06:41
//下面是代码,经过测试运行成功!var addon = require('./build/Release/addon');var y=addon.max(2,3);console.log(y);
其中 dlldemo.dll
里有个 max
函数,求两个 int
整数的最大值;
#define BUILDING_NODE_EXTENSION#include <node.h>#include <iostream>#include <windows.h>#include "stdafx.h"using namespace v8;Handle<Value> Max(const Arguments& args) { HandleScope scope; if (args.Length() < 2) { ThrowException(Exception::TypeError(String::New("Wrong number of arguments"))); return scope.Close(Undefined()); } if (!args[0]->IsNumber() || !args[1]->IsNumber()) { ThrowException(Exception::TypeError(String::New("Wrong arguments"))); return scope.Close(Undefined()); } HINSTANCE hDLL; hDLL=LoadLibrary("dlldemo.dll");//加载动态链接库dlldemo.dll文件; typedef int(*pMax)(int a,int b);//函数指针 pMax Max=NULL; Max=(pMax)GetProcAddress(hDLL,"Max"); if (Max) { int A=Max(args[0]->NumberValue(),args[1]->NumberValue()); //cout<<"比较的结果为"<<A; Local<Number> num = Number::New(A); return scope.Close(num); } //Local<Number> num = Number::New(args[0]->NumberValue() + args[1]->NumberValue()); Local<Number> num = Number::New(123); return scope.Close(num);}void Init(Handle<Object> exports) { exports->Set(String::NewSymbol("max"),FunctionTemplate::New(Max)->GetFunction()); }NODE_MODULE(addon, Init)
0 0
- nodejs如何调用动态链接库(dll)呢?写一个addon来处理,写此文抛砖引玉。
- java调用delphi写的DLL动态链接库
- C#调用matlab写的动态链接库(dll)
- C#调用matlab写的动态链接库(dll)
- c#中如何调用vc++写的动态链接库
- 在C#中调用C语言写的动态链接库 DLL
- Qt Creator 为我们的程序写一个动态链接库help.dll
- 修改:"Qt Creator 为我们的程序写一个动态链接库help.dll”使代码写的更专业
- 如何把自己写的动态链接库(.dll)卖给别人?
- 如何创建一个动态链接库DLL
- Visual Studio 写自己的动态链接库(DLL)
- Visual Studio 写自己的动态链接库(DLL)
- yii2如何写一个类来统一处理url?
- 如何去写一个方法呢?
- Delphi动态调用C++写的DLL
- Nodejs 学习01:如何写一个模块
- 自己写的DllCall类方便dll动态链接库函数调用
- C# 调用Delphi写的动态链接库
- java调用http接口
- openssl、x509、crt、cer、key、csr、ssl、tls 这些都是什么鬼?
- android主机强制设置speaker为usb speaker
- HDU 1214 圆桌会议 【找规律】
- 仿荷包投资的滑块
- nodejs如何调用动态链接库(dll)呢?写一个addon来处理,写此文抛砖引玉。
- python单元测试unittest
- 好的网站
- Win7+VS2013+opencv3.0.0环境搭建
- 工厂模式——只有例子没有解释的设计模式
- android 获取application和activity下meta-data中的值
- ftp抓包分析
- 期货ctp开源量化平台
- UE4 打包测试的笔记