Глюк от обновления masm32

Тема в разделе "WASM.WIN32", создана пользователем wsd, 12 янв 2008.

  1. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Стоял masm32 Version 6.14.8444 .
    Взял из VS2005 ml Version 8.00.50727.42
    и перекинул в родную папку масма.
    Перестали компилироваться старые проекты:dntknw:

    Пошла ругань на конструкцию в windows.inc
    C:\Masm32\Include\windows.inc(14142) : error A2138: invalid data initializer

    там находится
    Код (Text):
    1. IMPORT_OBJECT_HEADER STRUCT
    2.     Sig1 dw     ?
    3.     Sig2 dw     ?
    4.     Version dw  ?
    5.     Machine dw  ?
    6.     TimeDateStamp dd ?
    7.     SizeOfData dd   ?
    8.     union
    9.         Ordinal dw  ?
    10.         Hint dw     ?
    11.     ends
    12.     [b]rImport ImportRec <>[/b]
    13. IMPORT_OBJECT_HEADER ENDS
    если закомментировать спорную строчку - полностью всё пашет.
    И в моих поделках эта структыра не используется.

    С чем это может быть связано?
    Ещё кто-то на что-то в этом роде нарывался?
     
  2. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
  3. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    S_Alex
    Спасибо!
    Я восьмёрку хотел поставить, чтобы с SSE2 поиграть.
    А версия ML(шестая) в MASM32 их не поддерживает и приходится их
    опкодами по мануалу кодировать:dntknw:
    Просто действительно глюк какой-то получается!
    Должна же поздняя версия обратно совместимой с предыдущей быть.
    Может аргумент какой компилятору передать?
    Поиск молчит...
     
  4. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
  5. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Jupiter
    Спасибо:)
    Т.е. получается по существу двойной ванндам:
    1. Попутан порядок полей в старой
    ImportRec RECORD Reserved : 11,NameType : 3,Type2 : 2
    на
    IMPORT_REC RECORD Type2:2,NameType:3,Reserved:11
    и косяк в FPO_DATA
    2. НО ОСНОВНОЕ Теперь инициализация рекорда в старом стиле невозможна
    ImportRec <>
    на
    ImportRec <>,<>,<>

    Я правильно понял?
    Просто копипаст неинтересно;)
     
  6. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    wsd
    если коротко: эт всё баги ml.exe, подправишь одно - вылезет где-то ещё. я когда тестил 9-й линкер и асм из студии, то сталкивался с тем, что при создании дебаг версии кто-то из них напрочь подвисал. некоторые структуры хаваются компилятором после совершенно идиотских преобразований. никакой логики я в этом не вижу. баги в чистом виде.
     
  7. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Jupiter
    Понял.
    За короткий ответ - короткое Спасибо!

    А первый раз, когда на твой ответ давал ссылку S_Alex,
    сразу не вкурил , что это к моей проблеме так-же относится.
    Там в нём намбр еррор лайне сильно другой был, по сравнению с
    моим.Вот и подумал ,что это другой косяк, вообще не вникая
    в дальнейший текст ответа.
    А получается - что правда тот-же косяк, просто еррор лайны
    наши разные из-за разных версий инклюда.
    Спасибо что сильно не ругали за то что дважды на одно и
    тоже направляли;)
     
  8. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    на форуме Хатча тема обсуждалась, вроде выкладывался другой Windows.inc для фикса