c++ - 是否可以在nodejs或golang中使用Visual C++ MFC函数插件?

标签 c++ node.js go mfc cgo

目前,我有一些使用 MFC 的 visual c++ 函数。我可以在 nodejs 或 golang 中将此函数用作 c++ 插件吗?

具体来说,我需要通过我的 golang 或 nodejs 代码以某种方式访问​​ OCX (ActiveX) 对象。所以,我决定用c++写下插件,但发现不使用MFC/ATL的东西真的很难。那么,我可以将这些 MFC/ATL 函数用作 nodejs 或 golang 中的插件/扩展吗?谢谢!

最佳答案

您可以从插件 C++ 代码调用 ATL/MFC 代码,但如果没有中间包装层,您不能直接从 nodejs/golang 绑定(bind)到 ATL/MFC。

注意:node-ffi 用于 nodejs 或 cgo 用于 golang对于与 native 代码集成很有用,但无助于直接调用 ATL/MFC,因为 node-fficgo 都以 C 调用约定为目标(所有 C++ 代码都必须是用 extern "C" 包裹,可通过 node-ffi/cgo 调用)。所以您仍然需要围绕 ATL/MFC 创建 C++ 包装器。此外,在创建插件/扩展时,请确保 ATL/MFC 异常(或任何其他 C++ 异常)不会跨越模块边界。

关于c++ - 是否可以在nodejs或golang中使用Visual C++ MFC函数插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39813769/

相关文章:

c++ - 在 cuda-kernel 中使用 cuDoubleComplex 进行操作

C++ 代码 : count not working

javascript - browserify - 排除代码块?

gorilla mux http 包

golang 为什么命名和非命名结构比较结果相同

c++ - const对象的地址,被解释为低级const

node.js - 我应该在哪里定义要在 EJS 模板中调用的 JS 函数

javascript - 将 chai-as-promised 添加到 Ember 应用程序

GO API 安装失败 "evq/chromaticity"

c++ - 在 C++ 中将变量转换和写入文件的最佳方式(性能驱动)是什么?