链接顺序与混合模式 DLL





5.00/5 (2投票s)
当将混合模式和非托管 DLL 链接到非托管 C++ 可执行文件时,链接顺序会影响程序的运行方式。
我最近将一个混合模式 C++/CLI DLL 添加到一个现有的非托管 C++ 项目中,该项目还包含两个非托管 C++ DLL。我发现应用程序文件会在非常早的时候崩溃,甚至在到达任何用户代码之前。 在拔掉我仅剩的头发后,我发现 DLL 的 *.lib* 文件链接到可执行文件的顺序会影响它是否会崩溃。 基本上,如果您将非托管 DLL 和混合模式 DLL 链接到同一个可执行文件,则混合模式 DLL 的 *.lib* 文件必须首先链接,否则应用程序将崩溃。 这只是一个小技巧,但希望对某人有用!