使用exe或DLL从另一个程序调用程序



我有一个大程序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不会使其在单独的过程中运行,而是将所有错误导入到主程序中。

相关内容

  • 没有找到相关文章

最新更新