首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向我的C++应用程序添加一个简单的应用程序接口,以供LabView访问?

如何向我的C++应用程序添加一个简单的应用程序接口,以供LabView访问?
EN

Stack Overflow用户
提问于 2008-11-12 22:08:01
回答 6查看 3.1K关注 0票数 6

我有一个用C++ (Visual Studio6.0)编写的数据采集程序。一些客户希望从他们自己的自定义软件或LabView控制软件。我想拿出一个简单的API和一个dll,我可以分发给他们,并想要一些如何开始的提示。这将是非常基本的,可能是4到5个命令。我的DAQ程序将仍然在同一台机器上的自己的窗口中运行,我只是想将它设置为从另一个程序控制。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-11-12 22:14:04

有了DLL,您就走上了正确的道路。听起来,真正的诀窍是决定要使用哪种进程间通信(IPC)。选项有:套接字、管道、共享内存、同步对象(事件等)、文件、注册表等。

一旦您决定了这一点,然后在您的可执行文件中实现一个侦听器,以等待来自使用您的DLL的任何软件的传入IPC消息。

就API而言,您可以让它保持简单,就像您想要的那样。让DLL公开您的4或5个函数(确保您只使用本地数据类型,如char*和long,以避免模块边界问题),然后这些函数将使用您的IPC机制与正在执行的应用程序进行通信。

票数 6
EN

Stack Overflow用户

发布于 2008-11-12 22:18:35

像这样开始简单的事情会随着时间的推移而增长,所以你可能会更好地提前做一些工作,并使用一种会随着时间增长的技术。

在你的程序中实现一个COM接口将会给客户端很大的自由来决定如何使用它的接口,而且你不必担心IPC的机制,等等,因为COM的设计就是为了对你隐藏所有这些。

在未来,COM已经为事件等事情定义了很好的习惯用法,这些事件得到了脚本语言的很好支持,等等,如果你需要的话。

更新:有很多实现COM的方法。你可以在一本好的COM书的指导下从第一个原则开始构建它,或者使用像ATL这样的框架来节省一些样板。有很多很好的示例,例如参见MSDN

票数 2
EN

Stack Overflow用户

发布于 2008-11-13 10:23:11

COM的最大优点是你不需要DLL!你会说,你的应用程序会一直运行。这意味着它可以充当COM对象创建者(“本地服务器”)。

如果有人想要一个"stdcall“动态链接库,您可以给他们一个动态链接库,它只在内部将所有调用转发到COM接口。编写它将是相当微不足道的。你会说,你只有5个函数。这表明您有一个COM接口,其中包含这5个方法。当包装程序DLL加载时,它会要求您的EXE创建其COM对象。DLL依次公开5个stdcall方法,每个方法调用COM对象上的一个方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/285551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档