假设我使用MinGW 64(g++编译器)创建和编译了一个简单的程序。在我的电脑上运行此程序并查看进程资源管理器以查找该程序正在使用哪些DLL文件,我发现(除其他许多文件外):
libgcc_s_seh-1.dll
libstdc++6.dll
libwinpthread-1.dll
这些是我MinGW安装文件夹下唯一的文件。其他使用的DLL文件位于 C:\Windows
。
问题1:
MinGW DLL文件是MinGW C++运行时库吗?它们与例如msvcrXXX.dll(XXX = Microsoft运行时库版本)具有相同的作用吗?
问题2:
如果我想在另一台没有安装MinGW的计算机上运行该应用程序,只需包含上述列出的DLL文件(即将它们放置在可执行文件所在的同一文件夹中)就足以在另一台计算机上运行吗(假设另一台计算机也是64位Windows计算机)?如果是,这是否意味着我们实际上是将MinGW C++运行时与我们的可执行文件一起发布的?如果不是,为什么?