草庐IT

c++ - Cython 代码可以编译成 dll 以便 C++ 应用程序可以调用它吗?

我有一个C++程序,它有一种插件结构:当程序启动时,它会在插件文件夹中寻找具有某些导出函数签名的dll,例如:voidInitPlugin(FuncTable*funcTable);然后程序会调用dll中的函数进行初始化,并将函数指针传递给dll。从那时起,dll就可以与程序对话了。我知道Cython允许您在Python中调用C函数,但我不确定我是否可以编写Cython代码并将其编译为dll,以便我的C++程序可以使用它进行初始化。示例代码会很棒。 最佳答案 在dll中使用cython-module与usingacython-mod

c++ - 如何将复杂的指针数据作为属性放入 qt 插件 xml 文件中

我已经在Qt中实现了一个小部件,如下所示:classMyWidget:publicQWidget{Q_OBJECTQ_PROPERTY(boolBooValREADgetBoolValWRITEsetBoolVal)Q_PROPERTY(MyPointer*PointerDataREADgetPointerWRITEsetPointer);...}我想在QtDesinger中使用它。因此,我实现了如下所示的QDesignerCustomWidgetInterface接口(interface):classMyPlugin:publicQObject,publicQDesignerCust

c++ - GStreamer 插件与 GStreamermm(C++)

我正在尝试使用GStreamermm绑定(bind)在C++中编写一个gstreamer插件。现在,有一个很好的插件编写者指南(http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/),并且在网络上有各种示例和模板,但是对于gstreamermm,很少大量的文档。我知道我可以混合使用C和C++,但使用C++绑定(bind)似乎更加优雅。简单地将gstreamerpwg中的示例“翻译”为gstreamermm是一种死胡同;gstreamer需要使用相当多的宏来定义类型,我看不到gstreamermm的直接翻译。

c++ - 如何编写可以与操作系统交互的VLC插件

我需要找出是否有可能以及如何(我不关心语言C/C++、Lua、Python...)来制作一个VLC插件,其目的将由VLC播放器调用并且在视频流的特定时间会做一些Action。我需要做的是打开一个UDP套接字并发送一些从当前播放的视频附带的文件中读取的数据。我需要做一个类似字幕阅读器的东西,最好能初始化UDP套接字并将读取的数据发送到服务器。我不确定在Lua中是否可以创建UDP套接字,也许更好的选择是二进制C/C++插件,但找不到任何示例。一般来说,我的要求最多是:在VLC启动时加载设置文件需要在视频流的特定时间由播放器触发获取源视频流的文件名打开同名不同扩展名的文件(脚本)打开一个UD

c++ - 屏幕上的客户端矩形坐标

如何获取窗口客户区相对于屏幕的坐标?我考虑过使用GetClientRect和ClientToScreen。另外,在浏览器窗口中,什么是ClientRect?仅显示包含HTML文档的矩形,或者它包含浏览器栏和弹出菜单,这可能会缩小HTML文档的尺寸?我已经试过了:HWNDhWnd;RECTrc;if(GetClientRect(hWnd,&rc))//getclientcoords{MapWindowPoints(hWnd,NULL,reinterpret_cast(&rc),2);//convertsrectrcpointsreturnrc.top;}但遗憾的是,浏览器的客户端矩形包括

c++ - 插件系统如何工作?

我正在做一个项目,我会发现一个有用的基本插件系统。本质上,我创建基类并可以将这个基类提供给插件开发人员。然后开发人员覆盖它并覆盖方法。然后这就是我变得有点不清楚的地方。它是如何工作的?在哪里可以找到与此类系统开发相关的文档?谢谢 最佳答案 我所知道的插件系统都使用动态库。基本上,您需要在系统内核和插件之间定义一个小而有效的握手。由于没有C++ABI,插件必须要么只使用CAPI,要么使用与系统内核完全相同的编译器(可能是编译器版本)。最简单的可想到的协议(protocol)是一个函数,所有插件开发人员都必须提供该函数,它返回从您的基类

C++ DLL插件接口(interface)

我正计划做一个C++插件接口(interface)alaHowtocreatesomeclassfromdll(constructorindll)?(с++)但有人担心,如果该接口(interface)用于通过MinGW或Borland创建DLL,并且DLL加载程序是使用MSVC++编译的,则可能会出现问题。由于唯一导出的函数被声明为extern"C"我不明白为什么它不起作用?想法? 最佳答案 如果您想跨编译器(和发布/调试)兼容并使用C++,您需要付出更多努力。基本上-您可以传递基本数据类型和指向纯虚拟类的指针。这些类不得包含任何

c++ - 在 C++ 中使用 NPAPI 开发 Chrome 扩展

我想使用NPAPI在C++中开发一个简单的Chrome扩展程序,它将当前页面的HTML内容转储到一个文件中。我在开发插件/扩展方面没有太多专业知识。我该如何开始? 最佳答案 1-创建扩展...http://code.google.com/chrome/extensions/getstarted.html2-创建一个NPAPI插件...http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/3-在您的扩展list中添加插件..."plugins":[{"pa

Apple Unity Plugins 接入GameCenter 崩溃解决方案

目录问题问题原因解决方案可直接使用的UnityPlugins问题调用GKLocalPlayer.Local.FetchItems()程序崩溃,报错:Thread1:EXC_BAD_ACCESS(code=257,address=0x8000000000000002)启动崩溃,报错:Librarynotloaded:@rpath/AppleCoreNative.framework/AppleCoreNative问题原因苹果官方提供的库,直接编译后,会在调用GKLocalPlayer.Local.FetchItems()时崩溃。https://github.com/apple/unityplugi

c++ - C++11 的 Vim 语法高亮显示不会混淆其他高亮显示。例如,类/命名空间范围

我知道这个脚本:http://www.vim.org/scripts/script.php?script_id=3797.它已经被提出过几次,关于Vim的C++11语法的其他问题由于重复这个问题而被关闭:IsthereaC++11syntaxfileforvim?.不幸的是,建议的脚本导致作用域结构(例如“namespace::member()”)不再突出显示,和函数和类名称不再突出显示。现在有没有人有更好的VimC++11插件?理想情况下,保留常规C++插件的所有功能,标记新关键字/保留字(例如nullptr),lambda表达式/通用初始化语法不标记为错误。等等等等