真是原因到底是什麼呢?
由于 EXEC SQL CONNECT 而導緻 valgrind 報告 記憶體洩露錯誤。
那麼在同一個程式裡面,加入 EXEC SQL DISCONNECT 後,會如何呢?
驗證的結果是,依然如此,還是會說 still reachable: 220 bytes in 1 blocks。
進一步的分析會發現,
即使沒有 EXEC SQL CONNECT 或者 EXEC SQL DISCONNECT
隻要有對 sqlca 的引用,就會出被報告錯誤。
if(sqlca.sqlcode == 0){
exit(0);
}
而一個很單純的程式,如果沒有上述一段程式,就不會被 valgrind 報錯。
本文轉自健哥的資料花園部落格園部落格,原文連結:http://www.cnblogs.com/gaojian/archive/2012/08/14/2637907.html,如需轉載請自行聯系原作者