10bet网址
MySQL 8.0 C API开发人员指南
下载本手册

5.4.42 mysql_library_init()

int mysql_library_init(int argc,char ** argv,char **组)

描述

调用此函数以在调用任何其他MySQL函数之前初始化MySQL客户端库。

笔记

要避免使用库完成应用程序后的内存泄漏(例如,关闭与服务器的连接),请务必调用mysql_library_end()明确。这使得能够执行内存管理来清除库使用的空闲和免费资源。看第5.4.41节“mysql_library_end()”

在一个非含义的环境中,呼叫mysql_library_init()可能会省略,因为mysql_init()根据需要调用它。然而,mysql_library_init()在多线程环境中不是线程安全,因此也不是mysql_init(),呼叫mysql_library_init()。你必须呼叫mysql_library_init()在产卵前,还是使用互斥锁来保护呼叫,无论您是调用mysql_library_init()或间接通过mysql_init()。在任何其他客户端库呼叫之前执行此操作。

argc.argv., 和团体参数未使用。在较旧的MySQL版本中,它们用于与嵌入式服务器联系的应用程序,该应用程序不再支持。现在的电话应该写成mysql_library_init(0,null,null)

#include  #include  int main(void){if(mysql_library_init(0,null,null)){fprintf(stderr,“无法初始化mysql客户端库\ n”);出口(1);} / *在这里使用任何MySQL API函数* / mysql_library_end();返回EXIT_SUCCESS;}

返回值

成功零。非零如果发生错误。