程序框架:
主程序.(主程序负责加载DLL)
n多个DLL, 这些DLL由不同的人编写, 还有可能是别的公司编写(插件).
我一开始考虑用个全局结构体, 由主程序建立, 然后传递给每个DLL, 但是被考官否定了, 说这样扩展性不行. 如果现在要增加一个全局变量, 那个DLL应该无法继续运行, 他的DLL需要重新编译.
后来我想到用COM接口实现, 创建一个.EXE的COM; 这样的话:增加了全局变量, 需要用这个变量的DLL只需请求接口就行了.不过答案还没有提交上去, 有几个问题不太明白.1. 如果这个主程序容许运行多个, 每个DLL找到自己对应的那个EXE.COM呢? 难道让主程序把这个COM对象通过参数传递给DLL? 2. 假设现在有个全局变量:<授权文件的路径>; 接口中肯定就会有一个put和get操作, 如何防止其他DLL执行put操作呢? (难道要把接口信息分开提供出去? put操作的自己保留?)3. 假设主程序有个结构体变量, 我应该让COM拷贝这个结构体还是指向这个结构体呢?
解决方案 »
- class has no constructors
- 关于visual c++把位图导入到屏幕中的问题
- 求开发技巧,当一个CPP写的很长以后,能不能把它分成多个文件?并且共用一个.H ????????
- IActiveScriptSite问题
- 关于用CListCtrl如何添加单选和复选框列的问题?
- 我想直接创建对话框,该如何做?
- 如何用c实现分割一个字符串,并分别存入到两个新的字符串中??
- list中的list的结构怎么样析构?马上结贴。(能通过)
- 工具栏上的图标真的只能这样一点一点的画吗?有没有什么其他办法?
- 我想快速掌握VC,请大家指点指点
- 程序执行时发生0x0000005c读取0x0000004a的错误,怎么回事
- 急!!请大虾指点:如何创建子目录
蒙的 D:
写一个共通的类放一些基本信息,所有的dll都是继承这个类来写就可以了.
那些变量并不是由创建时就确定的, 是需要动态增加的, 比如有链表
是我每分了通过结构体指针, 如果需要增加一个全局变量, 没有重新编译的程序能工作吗?