Heim Datenbank MySQL-Tutorial MySQL连接数据库函数内存泄露解决方案

MySQL连接数据库函数内存泄露解决方案

Jun 07, 2016 pm 05:04 PM

Linux 下使用C操作MySQL数据库时写个测试程序 int main(void) { MYSQL m_mysql; mysql_init(m_mysql);

Linux 下使用C操作MySQL数据库时写个测试程序

  • {  
  •     MYSQL m_mysql;  
  •     mysql_init(&m_mysql);  
  •       
  •       
  •     if(mysql_real_connect(&m_mysql,pLocalhost,pUser,pPass,pDB,0,NULL,0) == NULL) 
  • //mysql_connect() 连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代替。
  •         cout"connect failed"
  •     else  
  •         cout"connect success"
  •        
  •     mysql_close(&m_mysql);      
  • 编译后使用valgrind检测内存泄露

    [root@localhost string]# valgrind --tool=memcheck --leak-check=full ./mysql 
    ==10352== Memcheck, a memory error detector
    ==10352== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
    ==10352== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
    ==10352== Command: ./mysql
    ==10352== 
    connect success
    ==10352== 
    ==10352== HEAP SUMMARY:
    ==10352==     in use at exit: 61,336 bytes in 16 blocks
    ==10352==   total heap usage: 118 allocs, 102 frees, 115,929 bytes allocated
    ==10352== 
    ==10352== 24,528 bytes in 6 blocks are possibly lost in loss record 4 of 5
    ==10352==    at 0x4005903: malloc (vg_replace_malloc.c:195)
    ==10352==    by 0x30DD75: my_once_alloc (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x30E59C: ??? (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x30EF96: ??? (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x30F111: get_charset_by_csname (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x32C3D2: mysql_init_character_set (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x32DABB: mysql_real_connect (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x8048A76: main (str.cpp:32)
    ==10352== 
    ==10352== 28,616 bytes in 7 blocks are possibly lost in loss record 5 of 5
    ==10352==    at 0x4005903: malloc (vg_replace_malloc.c:195)
    ==10352==    by 0x30DD75: my_once_alloc (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x30E57A: ??? (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x30EF96: ??? (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x30F111: get_charset_by_csname (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x32C3D2: mysql_init_character_set (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x32DABB: mysql_real_connect (in /usr/lib/mysql/libmysqlclient.so.15.0.0)
    ==10352==    by 0x8048A76: main (str.cpp:32)
    ==10352== 
    ==10352== LEAK SUMMARY:
    ==10352==    definitely lost: 0 bytes in 0 blocks
    ==10352==    indirectly lost: 0 bytes in 0 blocks
    ==10352==      possibly lost: 53,144 bytes in 13 blocks
    ==10352==    still reachable: 8,192 bytes in 3 blocks
    ==10352==         suppressed: 0 bytes in 0 blocks
    ==10352== Reachable blocks (those to which a pointer was found) are not shown.
    ==10352== To see them, rerun with: --leak-check=full --show-reachable=yes
    ==10352== 
    ==10352== For counts of detected and suppressed errors, rerun with: -v
    ==10352== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 3

    2、解决措施

    简单的说是在断开数据库连接后使用

    mysql_library_end()

    关闭MYSQL 使用的库即在mysql_close(。。。)后添加mysql_library_end()就ok了

    再添加一句,在使用mysql API之前最好是调用mysql_library_init(。。。。)

    linux

  • Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    C-Programm zum Ermitteln des größten Primfaktors einer Zahl C-Programm zum Ermitteln des größten Primfaktors einer Zahl Aug 27, 2023 am 10:09 AM

    Primfaktor – In der Zahlentheorie sind die Primfaktoren einer positiven ganzen Zahl die Primzahlen, die diese ganze Zahl genau teilen. Der Prozess zum Finden dieser Zahlen wird Ganzzahlfaktorisierung oder Primfaktorisierung genannt. Beispiel: Primfaktoren von 288 sind: 288 = 2 x 2 x 2 x 2 x 2

    Top 10 Global Digital Virtual Currency Trading Platform Ranking (2025 Autoritative Ranking) Top 10 Global Digital Virtual Currency Trading Platform Ranking (2025 Autoritative Ranking) Mar 06, 2025 pm 04:36 PM

    Im Jahr 2025 sind globale digitale Handelsplattformen für virtuelle Währungen sehr wettbewerbsfähig. OKX steht an erster Stelle mit seiner starken technischen Stärke und globalen Betriebsstrategie, und Binance folgt eng mit hoher Liquidität und niedrigen Gebühren. Plattformen wie Gate.io, Coinbase und Kraken stehen mit ihren jeweiligen Vorteilen im Vordergrund. Die Liste umfasst Handelsplattformen wie Huobi, Kucoin, Bitfinex, Crypto.com und Gemini, die jeweils eigene Eigenschaften haben, aber Investitionen sollten vorsichtig sein. Um eine Plattform auszuwählen, müssen Sie Faktoren wie Sicherheit, Liquidität, Gebühren, Benutzererfahrung, Währungsauswahl und Vorschriften für die behördliche Regulierung berücksichtigen und rational investieren

    Top 10 Börsen im Währungskreis in 2025 neueste Rangliste für digitale Währung Apps Top 10 Börsen im Währungskreis in 2025 neueste Rangliste für digitale Währung Apps Feb 27, 2025 pm 06:33 PM

    Rangliste der zehn besten Handelsplattformen für virtuelle Währung (neueste im Jahr 2025): Binance: Globaler Führer, hohe Liquidität und Regulierung haben Aufmerksamkeit erregt. OKX: Große Benutzerbasis, unterstützt mehrere Währungen und bietet einen gehebten Handel. Gate.io: Eine Senior -Börse mit einer Vielzahl von Zahlungsmethoden für Fiat -Währung, die eine Vielzahl von Handelspaaren und Anlageprodukten bietet. Bitget: Derivateaustausch, hohe Liquidität, niedrige Gebühren. Huobi: Eine alte Börse, die eine Vielzahl von Währungen und Handelspaaren unterstützt. Coinbase: Ein bekannter amerikanischer Austausch, streng reguliert. Phemex und so weiter.

    Top 10 Handelsplattformen für digitale Währung Die neueste Liste der Top 10 Top 10 -Handelsplattformen für digitale Währung Top 10 Handelsplattformen für digitale Währung Die neueste Liste der Top 10 Top 10 -Handelsplattformen für digitale Währung Mar 17, 2025 pm 05:57 PM

    Top 10 Handelsplattformen für digitale Währung: 1. OKX, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8. Bitfinex, 9. Crypto.com, 10. Gemini, diese Austausch haben ihre eigenen Merkmale und Benutzer, die sich auf die Plattform, die sich auf die Plattform handeln, auf der Grundlage von Faktoren, die auf der Grundlage von Sicherheitsfaktoren, die Sicherheit, und die Sicherheit, die sie basieren.

    Top 10 Handelsplattformen für digitale Währungs -Apps, regelmäßige Empfehlungen zur Plattform für die Währung Spekulation Plattform Top 10 Handelsplattformen für digitale Währungs -Apps, regelmäßige Empfehlungen zur Plattform für die Währung Spekulation Plattform Mar 07, 2025 pm 06:51 PM

    Dieser Artikel empfiehlt zehn Währungsanlagen: 1. OKX; Bei der Auswahl einer Plattform müssen Sie Faktoren wie Sicherheit, Liquidität, Transaktionsgebühren, Währungsauswahl, Benutzeroberfläche, Kundenservice -Support und Vorschriften für den Kundendienst und die Einhaltung von Vorschriften berücksichtigen und die Risiken sorgfältig bewerten und den Trend nie blind befolgen.

    Was sind die zuverlässigen digitalen Währungsplattformen? Was sind die zuverlässigen digitalen Währungsplattformen? Mar 17, 2025 pm 05:45 PM

    Zuverlässige digitale Währungsplattformen gehören: 1. OKX, 2. Binance, Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8. Bitfinex, 9. Crypto.com, 10. Gemini.

    Die weltweit führende Tutorial Virtual Currency Trading Platform Echtes Download- und Installations -Tutorial Die weltweit führende Tutorial Virtual Currency Trading Platform Echtes Download- und Installations -Tutorial Mar 12, 2025 pm 05:33 PM

    Dieser Artikel enthält Android- und Apple Mobile App -Download -Methoden für Mainstream -Handelsplattformen für digitale Währung wie Binance, OKX, Gate.io, Huobi Global, Coinbase, Kucoin, Kraken und Bitfinex. Unabhängig davon, ob es sich um einen Android -Benutzer oder ein Apple -Benutzer handelt, können Sie den offiziellen App -Download -Link für die entsprechende Plattform problemlos finden und die Installation gemäß den Schritten abschließen. Der Artikel enthält detaillierte Anleitungen zum Suchen und Herunterladen auf ihren jeweiligen offiziellen Websites oder App -Stores sowie Anweisungen zu den speziellen Schritten für die Installation von APK -Dateien auf Android, damit Benutzer sie schnell und einfach herunterladen und verwenden können.

    Top 10 Top -Handelsplattformen der digitalen Währung App Top10 Virtual Currency App 2025 Ranglisten Top 10 Top -Handelsplattformen der digitalen Währung App Top10 Virtual Currency App 2025 Ranglisten Mar 13, 2025 pm 07:00 PM

    Die Rangliste der Top -Ten -Währungsplattformen sind: 1. OKX; Das Ranking basiert auf umfassenden Überlegungen wie Liquidität der Plattform, Währungsauswahl, Sicherheit, Benutzererfahrung, Umgangsgebühren und Compliance, dient jedoch nur als Referenz.

    See all articles