目前,基于OpenSSL的应用开发,初始化阶段调用了OpenSSL_add_all_algorithms();,循环测试后,发现有内存泄漏。后来根据http://www.cnblogs.com/moonset7/archive/2009/12/30/1635770.html的说明,OpenSSL调用相应库的接口后,需要调用相应的模块清理函数
CONF_modules_unload(1); //for conf
EVP_cleanup(); //For EVP
ENGINE_cleanup(); //for engine
CRYPTO_cleanup_all_ex_data(); //generic
ERR_remove_state(0); //for ERR
ERR_free_strings(); //for ERR
于是,调用 EVP_cleanup()函数进行清理后,内存泄漏解决。
遇到相关问题的同学,可以参考。
同时参考了http://bbs.csdn.net/topics/350062073