Was ist der Unterschied zwischen _imp und __imp?

Ich bin auf einen interessanten Fehler gestoßen, als ich mit MinGW während der Arbeit in Qt Creator versucht habe, eine Verbindung zu einer mit MSVC kompilierten Bibliothek herzustellen. Der Linker beschwerte sich über ein fehlendes Symbol_imp_FunctionName. Als ich feststellte, dass es an einem fehlenden externen "C" lag, und es reparierte, ließ ich auch den MSVC-Compiler mit / FAcs laufen, um zu sehen, was die Symbole sind. Es stellte sich heraus, dass es war__imp_FunctionName (Das ist auch die Art und Weise, wie ich auf MSDN und einigen Guru-Blogger-Websites gelesen habe).

Ich bin zutiefst verwirrt darüber, wie sich der MinGW-Linker über ein Symbol beschwert, das mit beginnt_imp, ist aber in der Lage, es schön zu finden, obwohl es mit beginnt__imp. Kann ein Deep-Compiler-Magier etwas Licht ins Dunkel bringen? Ich habe Visual Studio 2010 verwendet.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage