TASM and C++( Borland 3.1 ) = ???

Тема в разделе "WASM.BEGINNERS", создана пользователем mmshvedko, 9 сен 2005.

  1. mmshvedko

    mmshvedko New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2005
    Сообщения:
    23
    TASM and C++( Borland 3.1 ) = ???
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    MASM and MSVC 6.0(Microsoft) = !!!
     
  3. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    WASM and Watcom C/C++ = ...

    :):):)
     
  4. mmshvedko

    mmshvedko New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2005
    Сообщения:
    23
    Наверно вы правы колеги , но есть необходимость решить следующюю задачу :

    подключить asm proc к программе на C++(borl 3.1)-



    public _asmproc

    _asmproc proc c near

    ....

    _asmproc endp



    and C++ :



    extern "C" void asmproc (...) ;

    void main ( void)

    {

    asmproc(...) ;

    }



    после трансляции ошибок нет , однако при компановке ( bcc ) выдаёт сообщение " undefined symbol _asmproc in module mymain.cpp ???????? ( уже начал нервнечять.. )
     
  5. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    mmshvedko

    исходник на асм'е
    Код (Text):
    1. ;; a.asm
    2. model small,c
    3. .code
    4. public asmproc
    5. asmproc proc
    6.   xor ax,ax
    7.   ret
    8. asmproc endp
    9. end
    исходник на си
    Код (Text):
    1. /* c.c */
    2. #ifdef __cplusplus
    3.   extern "C" {
    4. #endif
    5. int asmproc(void);
    6. #ifdef __cplusplus
    7.   }
    8. #endif
    9.  
    10. int main(void)
    11. {
    12.   return asmproc();
    13. }
    компилировать
    Код (Text):
    1. :: makeme.bat
    2. @if exist *.obj del /Q *.obj
    3. @set path=c:\dev\bc\bin;%path%
    4. @bcc -ms c.c a.asm
    5. @if exist *.obj del /Q *.obj
     
  6. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    mmshvedko

    Да вроде все правильно... может просто в проект не добавил?



    Так, погонял сам и понял. Если компилишь tasm'ом, ставь ему опцию -ml (Case sensitivity on symbols), потому как иначе он твою функцию называет _ASMPROC, подлый.
     
  7. mmshvedko

    mmshvedko New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2005
    Сообщения:
    23
    Собратья спасибо вам за содействие - всё сработало (Ustus the best )



    на всякий случай :

    ICQ - 319-642-068

    mail - mmshvedko@yandex.ru