В чем разница между _imp и __imp?

Я столкнулся с интересной ошибкой, когда пытался связать библиотеку, скомпилированную с помощью MSVC, с помощью MinGW, работая в Qt Creator. Компоновщик пожаловался на отсутствие символа, похожего на _imp_FunctionName. Когда я понял, что это произошло из-за отсутствия внешнего «C», и исправил его, я также запустил компилятор MSVC с /FAcs, чтобы увидеть, что это за символы. Оказывается, это было __imp_FunctionName(то же самое я читал в MSDN и на многих сайтах гуру-блогеров).

Я полностью сбит с толку тем, как компоновщик MinGW жалуется на символ, начинающийся с _imp, но может его хорошо найти, хотя он начинается с __imp. Может ли знаток глубоких компиляторов пролить свет на это? Я использовал Visual Studio 2010.

5
задан MSalters 28 June 2012 в 10:58
поделиться