最近发现程序执行完后,有严重的内存泄漏:利用OCIObjectNew 申请时占用了50M的内存,但是利用OCIObjectFree后内存没什么反应,想问下到底哪错了
由于内外网机子交互问题,不能贴代码,大致的如下:typedef struct {OCI Array * geoArray;}geometry_struct;
geometry_struct m_GeoInfo_Array[65534];----------------------------------------------------
m_eleInfo_tdo = DB_get_tdo(SDO_ELEM_INFO_ARRAY)----------------------------------------------------
for(int i=0;i<65534;i++)
{
OCIOBjectNew(envhp,errhp,svchp,OCI_TYPECODE_VARRAY,m_eleInfo_tdom,(dvoid*)NULL,OCI_DURATION_SESSION,FALSE,(dvoid**)&m_GeoInfo_Array[i].geoArray) ;
}
----------------------------------------------------
for(int i=0;i<65534;i++)
{
OCIObjectFree(envhp,errhp,(dvoid*)(m_GeoInfo_Array[i].geoArray),(ub2)OCI_OBJECTFREE_FORCE);
}-------------------------------------------------------------------------------
由于内外网机子交互问题,不能贴代码,大致的如下:typedef struct {OCI Array * geoArray;}geometry_struct;
geometry_struct m_GeoInfo_Array[65534];----------------------------------------------------
m_eleInfo_tdo = DB_get_tdo(SDO_ELEM_INFO_ARRAY)----------------------------------------------------
for(int i=0;i<65534;i++)
{
OCIOBjectNew(envhp,errhp,svchp,OCI_TYPECODE_VARRAY,m_eleInfo_tdom,(dvoid*)NULL,OCI_DURATION_SESSION,FALSE,(dvoid**)&m_GeoInfo_Array[i].geoArray) ;
}
----------------------------------------------------
for(int i=0;i<65534;i++)
{
OCIObjectFree(envhp,errhp,(dvoid*)(m_GeoInfo_Array[i].geoArray),(ub2)OCI_OBJECTFREE_FORCE);
}-------------------------------------------------------------------------------
解决方案 »
- oracle通过透明网关访问sqlserver,TNS-12541: TNS: 无监听程序
- SQL問題,解決馬上結帖
- SQL2000存储过程声明变量了,但却报没声明的错误
- 有些复杂的Update SQL语句
- 怎么改变参数job_queue_processes的值?希望有具体步骤,谢谢各位了
- 中国程序员博客网正式开通,域名诚征意见
- 请教一个存储过程写法(新手上路)
- Oracle Intermedia Text支不支持中文的模糊查询
- 小弟初学oracle,还请本版各位前辈鼎力相助,先送上100分作为见面礼.(来者有分)
- Oracle11g服务端登录plsql客户端时报ORA-12546 TNS:权限被拒绝,之前还是可以用的
- oracle带的demo编译不过去
- SQL删除重复数据只留一条
for(int i=0;i<65534;i++)
{
OCIOBjectNew(envhp,errhp,svchp,OCI_TYPECODE_VARRAY,m_eleInfo_tdom,(dvoid*)NULL,OCI_DURATION_SESSION,FALSE,(dvoid**)&m_GeoInfo_Array[i].geoArray) ;
OCIObjectFree(envhp,errhp,(dvoid*)(m_GeoInfo_Array[i].geoArray),(ub2)OCI_OBJECTFREE_FORCE);}for(int i=0;i<65534;i++)
{
OCIOBjectNew(envhp,errhp,svchp,OCI_TYPECODE_VARRAY,m_eleInfo_tdom,(dvoid*)NULL,OCI_DURATION_SESSION,FALSE,(dvoid**)&m_GeoInfo_Array[i].geoArray) ;
}
for(int i=0;i<65534;i++)
{
OCIObjectFree(envhp,errhp,(dvoid*)(m_GeoInfo_Array[i].geoArray),(ub2)OCI_OBJECTFREE_FORCE);
}