ноября 26, 2010

Hex-константы и хедеры

Не могу решить какую запись hex-констант на DEmbro выбрать в качестве основной. (Основной, потому что в языке будeт возможность для реализации любого способа.)

Во-первых, что лучше — обозначать hex-константу префиксом или постфиксом? Мне привычней префикс, но это лишь вопрос привычки, зато парсинг немного проще.

Логичней всего использовать букву h (принято в asm'ах, но у них это не префикс, а постфикс):
hFFF1

Однако, есть опасения, что это ненаглядно, и может с непривычки сливаться с другими буквами hex-константы, особенно если писать их в одинаковом регистре.

С++ стиль (префиксные символы 0x перед цифрами)
0xFFF1
неудачен тем, что на него требуется два символа, а хочется задействовать только один.

А Delphi-стиль (префикс $ перед цифрами)
$FFF1
хоть и не очень распространён и не логичен, выглядит наиболее удобным — особый символ, не сливающийся с цифрами.

Пока что я избрал первый вариант, посмотрим приживётся или нет.

Пишу тут заголовок для WinApi windows.de на DEmbro. Из-за многих недоработок языка выглядит непричёсанным, но всё по-взрослому: с переобозначением типов, объявлением констант, объявлением прототипов функций с автоматической их загрузкой в период выполнения (т.е. не при подключении библиотеки, а при вызове функции windows-load этой библиотеки). Когда требуется добавить новую функцию в хедер, достаточно прописать её прототип один раз, не нужно копипастить что-то в стиле
typedef ... (*SomeFunc_t)(....);
...
extern SomeFunc_t SomeFunc;
...
SomeFunc = (SomeFunc_t)GetProcAddress(libuser32, "SomeFunc");

Одна моя мечта сбылась *.* Йииехуууууу!


Комментариев нет:

Отправить комментарий

Постоянные читатели

Обо мне

Моя фотография
Мой e-mail: vitek_03(at)mail(dot)ru