extern в masm, сложный вопрос

Тема в разделе "WASM.WIN32", создана пользователем Godness, 19 апр 2005.

  1. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    Такой вопрос возник:

    если я обьявляю в масме

    extern SomeProcedure или

    public SomeProcedure



    то при компиляции в формате MSCoff масм автоматически добавляет к названию процедуры символ "_", получается _SomeProcedure



    Как это отключить?



    ;============================



    и еще вопрос, я обьявил:

    extern _malloc: dword



    а _malloc вызывается прямо через

    call _malloc, а не через call ds:_malloc



    то в этом случае обявление функции правильно?
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Godness

    Это не extern/public знак подчёркивания добавляет, а PROC. Попробуйте объявить процедуру как SYSCALL:
    Код (Text):
    1. SomeProcedure PROC SYSCALL
    2. ; ...
    3. SomeProcedure ENDP


    И public не нужен, т.к. все функции по умолчанию public.

    ЗЫ: Второй вопрос не понял. Если линкуется и нормально вызывается - правильно :)