Стоял masm32 Version 6.14.8444 . Взял из VS2005 ml Version 8.00.50727.42 и перекинул в родную папку масма. Перестали компилироваться старые проекты Пошла ругань на конструкцию в windows.inc C:\Masm32\Include\windows.inc(14142) : error A2138: invalid data initializer там находится Код (Text): IMPORT_OBJECT_HEADER STRUCT Sig1 dw ? Sig2 dw ? Version dw ? Machine dw ? TimeDateStamp dd ? SizeOfData dd ? union Ordinal dw ? Hint dw ? ends [b]rImport ImportRec <>[/b] IMPORT_OBJECT_HEADER ENDS если закомментировать спорную строчку - полностью всё пашет. И в моих поделках эта структыра не используется. С чем это может быть связано? Ещё кто-то на что-то в этом роде нарывался?
S_Alex Спасибо! Я восьмёрку хотел поставить, чтобы с SSE2 поиграть. А версия ML(шестая) в MASM32 их не поддерживает и приходится их опкодами по мануалу кодировать Просто действительно глюк какой-то получается! Должна же поздняя версия обратно совместимой с предыдущей быть. Может аргумент какой компилятору передать? Поиск молчит...
Я уже отвечал по теме на аналогичный вопрос S_Alex (он привёл ссылку той темы): MASM error A2138: invalid data initializer
Jupiter Спасибо Т.е. получается по существу двойной ванндам: 1. Попутан порядок полей в старой ImportRec RECORD Reserved : 11,NameType : 3,Type2 : 2 на IMPORT_REC RECORD Type2:2,NameType:3,Reserved:11 и косяк в FPO_DATA 2. НО ОСНОВНОЕ Теперь инициализация рекорда в старом стиле невозможна ImportRec <> на ImportRec <>,<>,<> Я правильно понял? Просто копипаст неинтересно
wsd если коротко: эт всё баги ml.exe, подправишь одно - вылезет где-то ещё. я когда тестил 9-й линкер и асм из студии, то сталкивался с тем, что при создании дебаг версии кто-то из них напрочь подвисал. некоторые структуры хаваются компилятором после совершенно идиотских преобразований. никакой логики я в этом не вижу. баги в чистом виде.
Jupiter Понял. За короткий ответ - короткое Спасибо! А первый раз, когда на твой ответ давал ссылку S_Alex, сразу не вкурил , что это к моей проблеме так-же относится. Там в нём намбр еррор лайне сильно другой был, по сравнению с моим.Вот и подумал ,что это другой косяк, вообще не вникая в дальнейший текст ответа. А получается - что правда тот-же косяк, просто еррор лайны наши разные из-за разных версий инклюда. Спасибо что сильно не ругали за то что дважды на одно и тоже направляли