C++开发博客CSDN

修复VS,恢复初始状态

命令提示 输入命令: devenv.exe /resetuserdata

 

处理版本221优化改动:
1、SQL优化,采用预编译方式并将SQL语句修改为大写,尽量减少Oracle数据库硬解析
2、复用部分代码,减少变量的重复计算
3、根据最小知识原则、变量作用域最小化原则控制数据安全访问
4、部分变量由堆变量改为栈变量,内存及时释放
5、数据运算尽量采用位运算提升运算效率

 

最小知识原则:例如能使用private不使用public,对于实体之外的其他对象可见性最小

变量作用域最小化原则:
例如能使用局部变量不使用全局变量,JAVA垃圾回收器能够在最快时间内回收该变量

避免相同对象的重复创建:例如for循环需创建新对象,对象的创建置于循环外

堆变量、栈变量:
变量的创建尽量置于方法体内,
尽量减少方法调用次数(例如for循环,尽量避免for(int i=0;i<list.size();i++)类似操作,改为for(int i=0,length=list.size();i<length;i++)),
减少非必要static变量的创建,避免非必要变量或实体在内存常驻
IO、DB等操作时IO流、数据库链接的手动关闭、释放

 

 

系统服务程序,在服务的OnStart事件里面使用ADOConnection连接数据库,连接字符串没有问题,但是为什么在ADOConnection->Open()的时候,提示“尚未调用 CoInitialize”??这是什么原因?

1.没有初始化COM空间,用COINITIALIZE();

#include "utilcls.h"
在Dll中使用ADOQuery需要调用
CoInitialize(NULL);
来初始化COM,(ado是COM),否则会出错。
结束时
CoUninitialize();

 

posted @ 2014-03-13 10:25  纳凉亭子  阅读(927)  评论(0编辑  收藏  举报