`
bollaxu
  • 浏览: 217126 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL C API的内存泄露问题

 
阅读更多

程序使用MySQL的C API比较频繁,在检查程序内存泄露的时候,想到了API里面会不会有内存泄露的问题。网上说mysql api在使用的时候会出现泄露,有人用了valgrind来测试,找到了可能出现泄露的地方,官方的api文档里面也说到,如果使用完api之后,最好调用mysql_library_end()函数来释放内存。

 

mysql api的官方建议,如果是多线程的时候,最好是在创建线程之前就调用mysql_init()函数,或者使用mutex加锁,因为这个函数不是线程安全的。(具体见:http://docs.oracle.com/cd/E17952_01/refman-5.5-en/mysql-library-init.html)。在我的程序里面是线程池的概念,在循环里面会频繁使用mysql的库去做连接、查询数据库,而线程不会退出。怎么样可以封装一个线程安全且不会内存泄露的mysql查询函数呢?(使用my_init()和mysql_thread_end()?)

分享到:
评论
1 楼 烟雨遥_sun 2013-01-30  
可否考虑用长连接?表示正在用这个多线程连接对数据库的,遇到了内存泄露的问题,不知道怎么解决。

相关推荐

    MySQL_C_API.rar_API_mysql_doc_mysql api_mysql c语言

    这个是MySQL常用的C语言的API函数,对MySQL与C编程的人有用,是DOC格式的文档。

    mysql c api

    mysql c api 为iphone里连接数据库不可缺少的库

    C开发mysql的api中文手册

    这是C语言开发mysql用的中文手册,里面基本涵盖了mysql的CApi解释说明,还有用例。对刚接触mysql的c开发者很有用

    mysql C API

    初始版本发布,主要封装一些访问 MYSQL 的 C API,能便捷的访问 MYSQL 数据库; 2. 2010年 版本是原来版本的修正版本; 主要增加功能如下: 1. 支持多地址分布式部署数据库连接; 2. 支持数据库连接池; 3. 支持数据库...

    MySql-C-API.rar_mysql api_mysql c++

    这是一个简单的MySql C API 的 C++ 包装,适合初学者。

    mysql C API 中文.zip

    mysql C API 官方的中文说明文档(包括 mysql_stmt 的) 附一个mysql官方全面的C API说明文档(英文) 可供新手学习参考

    mysql sqlapi代码

    mysql sqlapi代码示例,sqlapi链接各类数据库mysql、db2、oracle、sqlserver、sqllite等等

    单兴华CTO-学习Mysql经典教程-第06章MySQL C API.pdf

    单兴华CTO-学习Mysql经典教程-第06章MySQL C API.pdf 单兴华CTO-学习Mysql经典教程-第07章Perl DBI API.pdf 单兴华CTO-学习Mysql经典教程-第08章PHP API.pdf 单兴华CTO-学习Mysql经典教程-第09章MySQL 管理介绍.pdf ...

    C语言 MySQl API接口

    提供了一个MySQL API接口,可以将MYSQL的函数封装成上层接口,以实现连接,断开,增删改的功能

    MySQL C API mysql c api访问数据库实例

    一个用mysql C API 实现的简单题库系统,VC6.0下编译,其它VC平台一样可用,具体参看代码。现在手上还有一个功能更加完善的,要用的联系本人,fnxjiabo@qq.com

    用Mysql C API开发MFC程序示范代码

    示例如何用Mysql提供的纯C API接口开发MFC的C++类应用程序

    mysql基本API文档

    mysql基本API的应用,现在许多公司的数据库都用mysql支持mysql;

    MySQL数据库CAPI

    MySQL数据库,C++,CAPI,C++链接MySQL数据库,通过C++对MySQL数据库进行增删改查,C++第三方库

    mysql API和库

    25.2. MySQL C API 25.2.1. C API数据类型 25.2.2. C API函数概述 25.2.3. C API函数描述 25.2.4. C API预处理语句 25.2.5. C API预处理语句的数据类型 25.2.6. C API预处理语句函数概述 25.2.7. C API预处理语句...

    C API连接mysql

    #VC6通过API连接Mysql测试环境 #创建数据库 drop database if exists `test`; #如果有这个数据库,则移除它 create database test; #创建数据库 use test; #使用数据库 #创建表User,保存会员属性 drop table if ...

    MySQL OOM(内存溢出)的解决思路

    内存溢出已经是软件开发历史上存在了近40年的“老大难”问题。在操作系统上运行各种软件时,软件所需申请的内存远远超出了物理内存所承受的大小,就叫内存溢出。 内存溢出产生原因多种多样,当内存严重不足时,内核...

    The_MySQL_C_API_编程实例

    MYSQL c语言 API 实例

    MYSQL的C API函数使用

    使用MYSQL的C API进行数据库各种操作,代码中添加了详细注释,对于学习MYSQL极有帮助。

    MYSQL C API 访问程序

    1. 以下是研究 mysql 5.0.22 得出的结果,描述并使用标准 c++演示了使用 MySQLC API 函数 简单操作数据库的流程; 例子程序在 VC6(VC7.1) + windows 2000 上调试通过; 例子程序在 red hat linux 9,red fc6 上调试通过 ...

Global site tag (gtag.js) - Google Analytics