真是原因到底是什么呢?
由于 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,如需转载请自行联系原作者