C++中的插件系统很难,因为ABI没有正确定义,每个编译器(或其版本)都遵循自己的规则.但是,Windows上的COM表明,可以创建一个最小的插件系统,允许具有不同编译器的程序员使用简单的界面为主机应用程序创建插件.
让我们变得实用,并且在这方面保留C++标准,除了一分钟之外.如果我想为支持C++插件的Windows和Mac(以及可选的Linux)编写应用程序,并且我想为插件作者提供相当多的编译器选择(比如说不到2年的Visual C++版本) ,GCC或英特尔的C++编译器),我可以依靠C++的哪些特性?
当然,我认为插件是针对特定平台编写的.
在我的脑海中,这里有一些我能想到的C++特性,我认为答案是:
我很感激您在该领域的任何经验,您可以分享.如果您知道任何具有C++插件系统的中等成功应用程序,那也很酷.
卡尔
我正在寻找编写Mac OS X Finder插件的指南或示例代码?它想知道如何做一些简单的动作:
我找到了以下两个资源:
COM针对Mac OS X 8/9 的API.我很想检查SCPlugin代码,但希望找到一个更容易消化的样本.
管理Vim插件的最佳方法是什么?有些插件使用的是Vimball,但是我在某个地方看到它被严重破坏了,并且手动将每个插件放入〜/ .vim /会导致一堆几乎无法更新或组织的文件.是否有一个Vim的插件管理器,其功能与Linux包管理器类似?或者可以将插件重新组织到自己的目录中,以便更轻松地管理它们吗?
我需要创建一个Android应用程序,它包含在Unity3d(动画等)和AndroidSDK上编写的部分(通过androidSDK,我的意思是很少用java,manifest和资源编写的活动)
事实上我已经有了这些部分(至少模拟已经准备好了=))我无法弄清楚如何在它们之间进行通信.
我已经阅读了很多关于unity3d android集成的文章(主要是关于称为"插件"的东西)并且无法理解这个人员的工作原理=(我理解的主要内容(每个人都知道官方参考文章写过)是关于插件的文档非常差... =)
我能理解的唯一通信方式是使用unity3d脚本(使用AndroidJavaClass和AndroidJavaObject)进行意图(广播),这样我的活动(用java编写)就可以处理它.但有些东西告诉我这不是最好的解决方案......
我读到的问题是我需要使用JNI(这是java本机接口 - 为什么?!? - 为什么我需要使用本机代码?)
我是否需要在java上创建一些中级代码,目的是与我的java活动进行通信,使用AndroidNDK编译它并作为插件包含在我的Unity3d项目中?我怎么能写中间层呢?我是否需要使用UnityPlayer而不是"Activity"作为基类?为什么?
我正在尝试安装Notepad ++插件Plugins -> Plugin Manager,但我的办公室防火墙限制了它的下载.有没有其他方法可以离线下载插件?
在查看包含applet的其他人的网页时,如何在安装多个JRE时强制Internet Explorer 6.0使用特定的JRE?
我想在Visual Studio 2010的解决方案资源管理器的特定文件类型的上下文菜单中添加一个新选项.因此,例如,右键单击*.cs文件将显示现有的上下文菜单以及"我的新选项".
我想知道代码会是什么样的; 并且喜欢指向开发visual studio插件的良好参考指针.我看到的教程/参考文章非常可怕.
谢谢!
如何在VIM中有效使用Latex?
有没有办法通过突出显示vim中的行来配置编译错误?
我有语法亮点.什么是其他推荐的附加组件?makefile是将乳胶文件编译为pdf的推荐方法吗?
TexWorks允许您在每次重新编译时打开并替换打开的pdf.是否有插件可以在vim中执行类似的操作?
我正在创建一个我认为必须有客户端数据库的网站.另一种选择是将所有内容都粘在服务器上,但代价是增加了复杂性并降低了可扩展性.我有什么选择?我必须构建一个插件吗?我必须等到每个人都符合HTML5标准吗?
更新有很多关于为什么我真的需要这个的评论.这是我的想法.告诉我,如果我是愚蠢的:
我有一个包含许多类型文件的插件,以及它自己的树结构(html,css,js,文档,图像等)
而不是通过插件文件夹,并将所有的css和js文件拆分到vendor/assets/js/ vendor/assets/css/文件夹中,我想保持整个插件文件夹不变.例如,
vendor/assets/multipurpose_bookshelf_slider/
如何确保路径正确加载,并在我的清单文件中引用它们?
目前,我有一些文件如下(不详尽)
/my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css
/my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
/my_app/vendor/assets/multipurpose_bookshelf_slider/
/my_app/vendor/assets/multipurpose_bookshelf_slider/
Run Code Online (Sandbox Code Playgroud)
我在引用它们
application.js
//= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
//= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js
Run Code Online (Sandbox Code Playgroud)
application.css.scss
@import "css/bookshelf_slider";
@import "css/skin01";
Run Code Online (Sandbox Code Playgroud)