没有合适的资源?快使用搜索试试~ 我知道了~
首页JavaScript 调用 C++ 生成的 DLL.pdf
JavaScript 调用 C++ 生成的 DLL.pdf
需积分: 50 436 浏览量
更新于2023-05-22
评论
收藏 714KB PDF 举报
JavaScript 调用 C++ 生成的 DLL,DLL 使用 ATL 封装的 ActiveX 控件,仅支持 IE 浏览器。 本文档是对工程实现时的每一个步骤进行描述,大量截图,非常详细。 完整工程代码路径:https://download.csdn.net/download/bqrmt/10698728
资源详情
资源评论
资源推荐

BQRM
目 录
第1章 JavaScriptCallCpp .............................................................................. 1
1.1 C++ 生成 DLL .................................................................................. 1
1.2 ATL 封装 .......................................................................................... 4
1.2.1 创建 ATL 项目 ...................................................................... 4
1.2.2 添加代码 ............................................................................... 7
1.2.3 注册 ATL ............................................................................... 9
1.3 JavaScript 调用 ................................................................................. 9
1.3.1 创建 ....................................................................................... 9
1.3.2 运行 ....................................................................................... 10
1.4 项目地址 .......................................................................................... 10
i

BQRM
第1章 JavaScriptCallCpp
本文 简要说 明网页 中 JavaScript 调用封装在 ATL 中的 C++ 生成的DLL,
编程环境为 Visual Studio 2012。
本文一共有三个环节,创建被调用的 C++ 生成的 DLL,用 ATL 封装
C++ 生成的 DLL,在 JavaScript 中调用 ATL。
本文中图例有一定的 PS,部分位置和命令会有一定的裁 剪,请以文字
中标明的名称为准。
1.1 C++ 生成 DLL
在 VS 中创建一个“Win32 控制台程序”, Dll Cpp,应用程序 设置如
下:
• 应用程序类型:DLL
• 附加选项:空项目
新建一个单例类(TestFunc)和一个供 ATL 封装的接口(Test API):
1

BQRM
1.1 C++ 生成 DLL
代码 1.1: TestFunc.h
1 #ifndef TEST FUNC H
2 #define TEST FUNC H
3
4 class declspec ( dllexport ) TestFunc
5 {
6 public :
7 static TestFunc∗ GetInstance () ;
8
9 int FuncAdd(int a, int b) ;
10
11 private :
12 TestFunc() ;
13 ˜TestFunc() ;
14
15 class Garbo
16 {
17 public :
18 ˜Garbo()
19 {
20 if ( nullptr != m pInstance)
21 {
22 delete m pInstance;
23 m pInstance = nullptr ;
24 }
25 }
26 };
27
28 static TestFunc∗ m pInstance;
29 static Garbo oGarbo;
30 };
31
32 #endif // TEST FUNC H
代码 1.2: TestFunc.cpp
1 #include <mutex>
2
3 #include "TestFunc.h"
4
5 using namespace std;
6
7 TestFunc∗ TestFunc :: m pInstance = nullptr ;
8 TestFunc :: Garbo TestFunc :: oGarbo;
9
10 mutex m oTestFuncLock;
11
12 TestFunc :: TestFunc()
13 {
14 }
2
剩余10页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0