求救!关于一个com组件共享变量的问题
我现在在改一个com组件的源码。这个组件是dll的,用VC6 MFC ATL写的。作用是一个网站查询功能的实现。虽然能用,但是在网页上点击查询后要等好长的时间才能出结果。所以我想趁寒假改改。
慢的原因主要是因为每个用户查询的时候com的实例都要分别读取两个文件存成两个表,第一个文件是480k,读取到内存中用一个map<string,string>类型变量存储,第二个文件5k,读取到内存中用一个set<string>类型变量存储。com初始化的时候读取这两个文件比较花时间的。但是这两个文件的内容很重要。而且对这两个类型的变量查询操作很频繁(都是stl的find的操作,不改变里面的内容)。所以我想最好能将它们一次读入,这样每个com实例都能直接用那两个变量做find操作。
有没有简单的办法。是不是需要改成进程外com?我是刚接触com,还有很多不明白。希望大虾们详细讲讲,给我想想办法。谢谢!
慢的原因主要是因为每个用户查询的时候com的实例都要分别读取两个文件存成两个表,第一个文件是480k,读取到内存中用一个map<string,string>类型变量存储,第二个文件5k,读取到内存中用一个set<string>类型变量存储。com初始化的时候读取这两个文件比较花时间的。但是这两个文件的内容很重要。而且对这两个类型的变量查询操作很频繁(都是stl的find的操作,不改变里面的内容)。所以我想最好能将它们一次读入,这样每个com实例都能直接用那两个变量做find操作。
有没有简单的办法。是不是需要改成进程外com?我是刚接触com,还有很多不明白。希望大虾们详细讲讲,给我想想办法。谢谢!
...全文
相关推荐
查看com组件工具 comview
总的来说,`Comview`是一个强大的工具,对于需要管理和调试COM组件的开发者、系统管理员以及技术支持人员来说,它提供了方便快捷的方式来查看和管理Windows系统中的COM组件,有助于提升工作效率和解决问题
通过COM组件共享内存的进程间通信Demo
该项目是一个基于MFC框架的对话框应用程序,通过COM组件和共享内存技术实现进程间通信。核心类CWays0封装了IDispatch接口,用于调用远程COM对象的方法,支持字符串传递与索引查询。程序利用
com组件查看器
COM是微软提出的一种软件组件模型,它允许不同程序之间共享代码和资源,通过接口实现跨语言互操作性。OCX是COM的一个子集,主要用于创建控件,常在Visual Basic等早期开发环境中使用。
dll及com组件区别
随着需求的增长,开发者需要解决版本管理和内存效率的问题,于是转向DLL和COM。- **DLL版本**:将CMath封装为DLL,使得多个应用程序可以共享同一份库文件。
C语言实现COM组件
COM(Component Object Model)组件对象模型是微软提出的一种软件组件技术,它允许不同应用程序之间共享代码和服务。


