obj-файл nsam ассемблера

Тема в разделе "WASM.WIN32", создана пользователем Strange_attractor, 10 май 2009.

  1. Strange_attractor

    Strange_attractor New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2008
    Сообщения:
    2
    Создаю obj файл "nasm -f win32 имя_файла.asm"
    подключаю его к с++ проекту

    в самом асм файле функции описаны так
    section .text
    global _ИмяФункции
    ;
    ret

    в 16 битных приложениях в VC 6.0 работает
    в 32 битных выдает unresolved external symbol

    в чём может быть проблема ?
     
  2. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2008
    Сообщения:
    318
    Думаю, вот в этом: "global _ИмяФункции".
    Там, где не работает, предполагается, что функция определяется не символом подчёркивания, а как-то иначе.
     
  3. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2008
    Сообщения:
    318
    Да, и желательно ошибку целиком приводить. unresolved external symbol это слишком мало. Разве ты не хочешь получить ответ на свой вопрос?
     
  4. Strange_attractor

    Strange_attractor New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2008
    Сообщения:
    2
    Очень хочу
    выдаёт следующую ошибку:
    error LNK2001: unresolved external symbol "void __cdecl GenKey(unsigned int *,unsigned int *)" (?GenKey@@YAXPAI0@Z)
    Debug/Project1.exe : fatal error LNK1120: 1 unresolved externals
     
  5. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    extern "C"
    {
    void __cdecl GenKey(unsigned int *,unsigned int *);
    }