我有一个大程序a,它有时会调用我的(大(程序B。程序B在程序a中只调用一次。目前,程序B是一个可执行程序(B.exe编译的C++代码(。
有人建议使用程序B的DLL,而不是使用可执行文件。
- 使用DLL有什么优点吗(比如安全性、大小等(
- 从我的源代码创建DLL容易吗(我使用Qt创建者(
使用dll(如安全性、大小等(有什么优势吗
否。事实上,如果你在考虑安全性、大小等问题,使用DLL会让情况变得更糟。当你加载DLL时,一切都发生在加载进程的地址空间内。因此,DLL中的任何错误都会直接影响程序的其余部分。DLL代码崩溃,将导致整个程序崩溃。
从我的源代码创建dll容易吗(我使用Qt创建者(
是的。但对我来说,这对您的特定用例几乎没有任何好处。事实上,对于很少使用的代码路径,我强烈建议将其放入一个单独的进程中(即将其链接到.EXE中(
BTW:.dll
和.exe
完全相同。您可以像加载DLL一样加载.exe
;给它一个DllMain
,你可以用任何一种方式!当然,用LoadLibrary
加载EXE不会使其在单独的过程中运行,而是将所有错误导入到主程序中。