草庐IT

interface-design

全部标签

c++ - 在硬件接口(interface)之间切换的最佳设计模式

我正在就我当前的方法是否合理征求意见。如果没有,我想要一些关于某种类型的设计模式的建议,而不是用来取代我目前的直觉。我的前提是,我有一个相机,它需要一个带有CameraLink或CoaXPress电缆接口(interface)的图像采集卡来连接到PC。相机和计算机之间的所有通信和数据传输都必须使用图像采集卡进行控制,因此这两个物理硬件对象之间的耦合非常紧密。我的问题是我想创建一个“Camera”对象(用于GUI),它有一个“FrameGrabber”卡对象,用于获取数据和发送/接收命令和数据.但是,我有许多不同类型的图像采集卡。我们称它们为CoaxGrabberA、CoaxGrabbe

c++ - 无法实现接口(interface)的 [[deprecated]] 方法

我想将我界面的某些方法标记为已弃用。为了向后兼容,我需要在一段时间内支持旧方法。//myowninterfaceforotherinterfaceI{[[deprecated("use'bar'instead")]]virtualvoidfoo()=0;};但是VisualStudio2015不允许我实现这个接口(interface)://myownimplementationclassIImpl:publicI{public:virtualvoidfoo()override;//heregoeswarningC4996://'I::foo':wasdeclareddeprecated

c++ - 为什么执行者不在 Concurrency TS 和 std::future 接口(interface)中了?

std::future::then的接口(interface)在论文中N3784包含一个重载版本,该版本接受一个执行程序(在N3562中有更多描述)作为参数。所以如果你想更多地控制回调在哪个线程上执行,你可以这样做。但是这里的官方文档介绍了并发TS中的所有功能http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0159r0.html#futures.unique_future不包括.then()的重载并且根本不提及执行程序。它说Whentheobject'ssharedstateisready,thecontinuation

c++ - 在 "Modern C++ Design"/Loki 中找到的小对象分配器是否已被弃用以支持更新的实现?

看来代码和书已经沦为现代C++运动的基础,不再更新了。在Boost或TR1中是否有某种替代品? 最佳答案 查看Boost.Pool图书馆。 关于c++-在"ModernC++Design"/Loki中找到的小对象分配器是否已被弃用以支持更新的实现?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2443165/

c++ - 如何与 R 中的 DLL 接口(interface)?

我从Matlab创建了dll扩展。然后,我想在R中读取那个dll。我使用了dyn.load()但它不起作用。你能给我一些建议吗? 最佳答案 源代码是用什么语言写的?问题在于混合编译器。Matlabdll很可能是由VisualStudio构建的。而且你根本不能在不同的编译器之间混合C++代码,因为函数标识符会被破坏。通过一些工作,您可以混合使用C目标代码。MinGW网站上有一些常见问题解答。 关于c++-如何与R中的DLL接口(interface)?,我们在StackOverflow上找到

c++ - 具有不可复制功能的接口(interface)

我正在尝试实现一个日志记录工厂,并且我使用了一个接口(interface),以便我可以随时交换记录器。这是界面classILogger{public://Onlyallowstringinput.TheentireARCisgoingtobenon-unicode.virtualvoidlog(std::stringmessage,eLogLevellevel=DEBUG)=0;protected:virtual~ILogger(void){};private://NoonecancreateanILoggerasitisabstractbutshouldalso//disallowc

c++ - 网络:当接口(interface)打开/关闭时在所有接口(interface)上绑定(bind)一个套接字

我正在创建一个需要在特定端口上监听所有网络接口(interface)的套接字。我使用INADDR_ANY创建它,因此套接字可以正确监听所有本地IP地址。我的问题是:如果新接口(interface)上线会怎样?套接字会自动监听新接口(interface),还是我必须重新绑定(bind)它?示例:我的套接字已经在监听,我创建了一个wifiad-hoc连接。我是否需要检测是否有可用的新接口(interface)(临时接口(interface)),然后重新绑定(bind)套接字?(我现在在Windows上使用C++,但代码必须移植到MacOS) 最佳答案

PyCharm下安装配置PySide6开发环境(Qt Designer(打开,编辑)、PyUIC和PyRCC)

一.准备工作1.安装python和pycharm并配置好环境变量python安装路径 pycharm安装路径:python系统变量:pycharm环境变量: 注意:正常安装,并勾选ADDPATH一般会自动配好2.在pycharm创建一个新的python的虚拟环境用pycharm开发python项目时,使用虚拟环境的好处是:可以为不同的项目创建不同的python环境,避免了依赖包和版本的冲突。可以为同一个项目的不同环境(如开发、测试、生产)使用不同的依赖包和配置。可以方便地在pycharm中创建、管理、切换、激活、删除虚拟环境。可以提高安全性和稳定性,避免污染系统环境和其他项目环境。因此,一般建

c++ - 为什么在 IUserNotificationCallback COM 对象上查询 IMarshall 接口(interface)?

使用Microsoft的IUserNotification2我正在使用IUserNotification2向软件用户显示通知。我使用Microsoft的现有实现,请参见此处。(请注意,我删除了标准header并进行了一些简化)。#include//IUserNotification2interfaceheadervoidNotifyUser(conststd::wstring&title,conststd::wstring&text){if(!SUCCEEDED(CoInitializeEx(nullptr,COINIT_MULTITHREADED)))throwstd::except

c++ - 加速 Qt 中的 Oracle 数据库接口(interface) (QOCI)

我有一个项目涉及将Oracle数据库集成到Qt桌面应用程序中。由于Qt有一个非常易于使用的数据库交互界面,我编译了QOCI驱动程序以支持Oracle连接。一切正常,但查询的处理时间非常慢。我怎样才能提高性能?我处理任意查询的代码如下所示:QList>DBWrapper::executeQuery(QStringconst&queryString){QList>results;if(_db.isOpen()){QSqlQueryqry(queryString);if(qry.exec()){while(qry.next()){QListrow;results.append(row);fo