目前,我有一些使用 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-ffi 和 cgo 都以 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/