Ошибка создания библиотеки ? Или что?

Тема в разделе "WASM.BEGINNERS", создана пользователем ajak, 7 май 2008.

  1. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Привет всем.
    Вот код
    Код (Text):
    1. ; Листинг 1.1.3. Процедура которого proc1 будет вызываться
    2. ; из основного модуля
    3. .586p
    4. ; плоская модель памяти
    5. .MODEL FLAT, STDCALL
    6. PUBLIC PROC1
    7. _TEXT SEGMENT
    8. PROC1 PROC
    9.     MOV EAX, 1000
    10.     RET
    11. PROC1 ENDP
    12. _TEXT ENDS
    13. END
    Создал из него obj. Потом создал из него одного lib'у. lib /out:lib1.lib 1.1.3.obj

    Потом при связке с вот этим кодом
    Код (Text):
    1. ; Пример использования библиотеки
    2. .586p
    3. ; плоская модель памяти
    4. .MODEL FLAT, STDCALL
    5. ;--------------------------
    6. ;протип внешней процедуры
    7. EXTERN PROC1@0:NEAR
    8. INCLUDE LIB1.LIB
    9. ; сегмент данных
    10. _DATA SEGMENT
    11. _DATA ENDS
    12. ; сегмент кода
    13. _TEXT SEGMENT
    14. START:
    15.     CALL PROC1@0
    16.     RET; выход
    17. _TEXT ENDS
    18. END START
    при вызове ml вылетает с ошибкой 1)syntax error: !
    2) invalid character in file
    . Удаляю либу - пишет не найдена либа.
    В чём дело не пойму. Ругается на первый символ - восклицательный знак. При просмотре либы в хексе, так и есть, первый идёт этот символ.
     
  2. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    В первом коде 'PUBLIC PROC1' - лишнее. 'proc' делает публик автоматически. При просмотре второго кода не нашел ни одного '!'. Нельзя-ли чуть подробнее ошибку.

    Только-что проверил ваш код. Закомментил только 'INCLUDE LIB1.LIB' (следует писать 'INCLUDELIB LIB1.LIB' - наверно тут ваша ошибка) во втором коде. Все ОК.
     
  3. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Мдя....... Точно. Навеное здесь. Спасибо большое.