问几个简单的问题,以便应用在我想法中的C++的http服务器上,让动态链接库可以安全地成为一个服务器的模块被调用。
本人对C++的动态链接库技术非常不熟悉,所以在这里请教。
假设,我现在做了个一个C++的http服务器,用调用动态链接库的方式来处理每个请求,传给动态链接库一个全局结构体指针,让动态链接库可以得到参数。
1、如果系统在调用动态链接库的时候出现内存非法访问的严重错误,那么可以不影响主程序的正常运行,不让主线程死掉吗?有没有措施可以保证至少调用外部动态链接库主的线程是安全的?
2、如果我设置了异常机制,调用的动态链接库可以自己死掉,服务器主程序捕获异常,可以完整地处理异常(释放资源)吗?
3、如果在调用的过程dll发生了内存泄露,而我没有传递给全局的指针。那么会不会泄露一直继续下去?
4、用这样的累积调用动态链接库,连续运行一段时间,会不会很不安全?
5、如果我每次调用动态链接库的过程都设置一个附加的线程来监视它是否超时,如果超时就杀掉调用过程。那么强行杀掉的调用过程会不会有内存泄露?
6、在windows上的dll和linux上的.so会不会有很大的运行原理的不同?
问题问得可能术语有些外行,请多多包涵。本人对动态链接库的工作原理了解不多,但是本着C++执行效率高的事实,有想法想做一个C++的调用动态链接库为主的服务器,就不知道dll调用技术是否已经成熟,不知道这些思路是否行得通。
万望各位可以给与宝贵的指点!!!