· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Обработка каталога *.asm файлов, error.log?

<< . 1 . 2 . 3 . >>

Посл.отвђт Сообщенiе


Дата: Июл 29, 2003 19:34:04

Ну которые без заглушек у меня имеют такой вид:
externdef _imp__CLIENT_ALLOC@4:PTR pr1
CLIENT_ALLOC equ <_imp__CLIENT_ALLOC@4>

externdef _imp__CLIENT_FREE@4:PTR pr1
CLIENT_FREE equ <_imp__CLIENT_FREE@4>

externdef _imp__D3DXBuildSpriteTransform@16:PTR pr4
D3DXBuildSpriteTransform equ <_imp__D3DXBuildSpriteTransform@16>


Дата: Июл 29, 2003 19:39:10

У меня тоже. А в windows.inc макрос исправить не забыл?


Дата: Июл 29, 2003 19:41:12

А что там исправлять?, тот макрос, который нужен для этой фичи
там был уже прописан, я его не трогал....


Дата: Июл 29, 2003 19:46:28

ArgCount MACRO number
  LOCAL txt
   txt equ <typedef PROTO STDCALL :DWORD>
     REPEAT number - 1
       txt CATSTR txt,<,:DWORD>
     ENDM
  EXITM <txt>
ENDM


Дата: Июл 29, 2003 19:58:16

"Следующий шаг, на пути к раскрепощению -- избавиться от противной директивы STDCALL" (c) Edmond.
-----------------------------------------------
   ArgCount MACRO number
   LOCAL txt
   txt equ <typedef PROTO STDCALL :DWORD>
   REPEAT number - 1
   txt CATSTR txt,<,:DWORD>
   ENDM
   EXITM <txt>
   ENDM
----------------------------------------------- 
   pr0 typedef PROTO STDCALL
   pr1 ArgCount(1)
   pr2 ArgCount(2)
-----------------------------------------------


Мне кажется, что этот макрос чтоб избавится от STDCALL, но меня
STDCALL никогда не угнетала, поэтому я его не использовал....


Дата: Июл 29, 2003 20:01:35

Asterix
но меня STDCALL никогда не угнетала, поэтому я его не использовал....
Зато его постоянно использует invoke.


Дата: Июл 29, 2003 20:12:43

Правильно, но invoke использует видимо родной макрос, а этот,
если верить Edmond'у видоизменённый(!), чтобы избавиться от STDCALL.
Разве не так?


Дата: Июл 29, 2003 20:21:04 · Поправил: Asterix

Оригинальный макрос такой, и я его не менял:
; #########################################################################

    ArgCount MACRO number
      LOCAL txt
      txt equ <typedef PROTO :DWORD>
        REPEAT number - 1
          txt CATSTR txt,<,:DWORD>
        ENDM
      EXITM <txt>
    ENDM

    pr0  typedef PROTO
    pr1  ArgCount(1)
    pr2  ArgCount(2)
    pr3  ArgCount(3)
    pr4  ArgCount(4)
    pr5  ArgCount(5)
    pr6  ArgCount(6)
    pr7  ArgCount(7)
    pr8  ArgCount(8)
    pr9  ArgCount(9)
    pr10 ArgCount(10)
    pr11 ArgCount(11)
    pr12 ArgCount(12)
    pr13 ArgCount(13)
    pr14 ArgCount(14)
    pr15 ArgCount(15)
    pr16 ArgCount(16)
    pr17 ArgCount(17)
    pr18 ArgCount(18)
    pr19 ArgCount(19)
    pr20 ArgCount(20)
    pr21 ArgCount(21)
    pr22 ArgCount(22)
    pr23 ArgCount(23)
    pr24 ArgCount(24)
    pr25 ArgCount(25)

; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


Дата: Июл 29, 2003 21:10:38

Ммда... компилит без ошибок и с новым макросом и со старым. Но я не могу понять как добавление директивы STDCALL в новом макросе избавляет от STDCALL. Не логично как-то...


Дата: Июл 30, 2003 18:53:15

Это уже вопрос к Edmond'у...


Дата: Июл 30, 2003 19:07:15

Ребята, вы меня и сами запутали :((
Что кого использует???

Ещё раз.

1.

ArgCount MACRO number
      LOCAL txt
      txt equ <typedef PROTO :DWORD>
        REPEAT number - 1
          txt CATSTR txt,<,:DWORD>
        ENDM
      EXITM <txt>
    ENDM


Этот макро испотзуется в INC файлах

2. Директива Invoke
Ибо это не макро, а всё таки директива :))

Испоьзует прототип метки, чтобы определить что с ней делать...

Я ненавижу STDCALL потому что, пишу прилодения под многие ЯВУ, я не могу работать с постоянным искажением имён!!!!!
Например для fortran мне не нужно, чтобы всё что движется было искалечено этой директивой!!!

Вот я её поэтому в начале модуля и убрал....
Но чтобы всё работало корректно, Invokу нужно указать тип соглашения..

Вот он:
txt equ <typedef PROTO STDCALL :DWORD>


Когда вы определяете Глобальный STDCALL он действует ВЕЗДЕ!!!!
А когда так, то он действует только для данной метки.


Дата: Июл 30, 2003 19:10:24

Asterix
Да, надо не забыть вылжить послдеднию версию inc не думал, что-то кто-то пользуется...
Да, и выложить макро для UNICODE ^)))


Дата: Июл 30, 2003 19:28:43

Edmond
1. Я ненавижу STDCALL потому что, пишу прилодения под многие ЯВУ, я не могу работать с постоянным искажением имён!!!!!
2. txt equ <typedef PROTO STDCALL :DWORD>
Где же логика? Добавляем директиву STDCALL с целью избавиться от STDCALL???


Дата: Июл 30, 2003 19:51:04

[ Edmond: Да, надо не забыть вылжить послдеднию версию inc не думал, что-то кто-то пользуется...
Да, и выложить макро для UNICODE ^)))
]

Надо, но у меня то уже есть :-), вот может немного статью обновить,
или написать новую, что там и к чему в новых inc'лудах...


Дата: Июл 30, 2003 19:57:41

Asterix
Да, так и зделаю!!!

<< . 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.102