У меня есть проект C ++, созданный в VS6, который был открыт в VS2010 и прекрасно компилируется. Он содержит класс с небольшим количеством встроенных сборок, включая следующий код:
__asm{
mov eax,this
mov esi,[eax].m_pImage
...
Все отлично, пока я не попытаюсь создать новый проект MFC C ++ в VS2010 и добавить класс с кодом сборки, показанным выше. Внезапно это не скомпилируется, поскольку более новая интерпретация __asm требует, чтобы код был следующим (или что-то похожее; это компилируется в любом случае):
__asm{
mov eax,this
mov esi,[eax]this.m_pImage
...
Теперь, на всю жизнь, я не могу понять, в чем разница между двумя проектами, которая позволяет преобразованному проекту VS6 скомпилировать (предположительно в настоящее время недействительный) встроенный код сборки в VS2010, в то время как недавно созданный проект «т.
Есть ли где-нибудь (скрытый) параметр, позволяющий использовать старый компилятор VS6?