我的应用程序使用了两个第三方库。它们都被用作.dll的OpenSSL库(这意味着这两个库都具有OpenSSL的单个共享实例)。
它们两个都有相似的OpenSSL_CleanUp
函数:
void OpenSSL_CleanUp() {
CRYPTO_set_locking_callback(NULL);//1
CRYPTO_set_id_callback(NULL);//1
EVP_cleanup();//1 and 2
CRYPTO_cleanup_all_ex_data();//1 and 2
ERR_remove_state(0);//1 and 2
ERR_free_strings();//1 and 2
}
//1 - this line is present in first lib
//2 - this line is present in second lib
这些库的寿命不同。第一个可以多次重装。第二个将一直存在,直到应用程序关闭。
我的应用程序看起来运行良好,但我担心副作用不明显。