CleverMouse wrote:
NASM-овцам это не помешало
определить свои имена.
Правильно и сделали! Вот правда, они привязывали имена к числовым значениям.
А я подразумевал привязку имён к макросам (процедурам, функциям).
Правильно ли я делаю ?!Например :
приставка для длинного имени "fk" (маленькие и без всяких нижних чёрточок, думаю так аккуратней будет сочитаться с началом процедуры которое с большой буквы). Кстати какую приставку предлагаете вы?
Все функции, которые "прямые", их названия начинаются = "fk"+короткое имя функции.
Например, короткое имя "PutPixel" Тогда, длинное имя = fkPutPixel и соответственно
fkPutPixel = mov eax, 1 int 0x40
и так каждая процедура (с длинным именем), везде в СИ, АСМе, Дельфи и т.д. это длинное имя соответствует такому "прямому" вызову с такой же передачей параметров!
Далее идет короткое имя PutPixel, (функция, процедура, макрос, неважно что иммено), котораям по своей сути полная аналогия fkPutPixel, вот только с усовершенствованным , приёмом-передачей данных т.е. PutPixel( Dword x, Dword y, Dword colour )
И как будет реализована PutPixel внутри, вот так:
Code:
{
__asm{
mov eax, 1
mov ebx, x
mov ecx, y
mov edx, colour
int 0x40
}
}
... или используя fkPutPixel, значит вот так:
Code:
{
__asm{
mov ebx, x
mov ecx, y
mov edx, colour
fkPutPixel
}
}
ЭТО, КАК ВИДИТЕ, БЕЗ ОСОБОЙ РАЗНИЦЫ! Тем более для компиляторов, верно ?
Главная цель этого всего, то, что функции:
fkPutPixel и PutPixel аналогичны, с разницей лишь в передачи данных! Ну понятное дело, что базируется PutPixel на fkPutPixel . И что в любой среде программирования, я могу использовать любую из них ( хоть fkPutPixel, хоть PutPixel, хоть чередуя, в зависимости от ситуации), а написанное в одной среде смогу "безболезненно", "перебрасывать" в другую среду!
Я надеюсь вы уловили мою мысль!? Т.е. полная стандартизация процедур, по всем средам и "прямых" процедур с длинным именем и с коротким именем, базирующихся на тех "прямых" процедурах. И к тому же, зная короткое имя процедуры, мы знаем на какой процедуре с длинным именем она базируется (добавив к началу названия "fk") и наоборот.