Всем привет! Ковыряю клиента MU-online. Сейчас пытаюсь разобраться с оконной подсистемой, используемой в игре - хотелось бы иметь возможрность...
Интересно конечно, но к сожалению не смогу выложить ничего в паблик, ведь мы с вами понимаем, что одного сэмпла бывает достаточно :) P.S. Да,...
DUP
Не знаю где вы берёте такую траву и такие антивирусы, но у меня на тестах ни один паблик-сплоит не раскручен.
iliuxa Предупреждать надо!
Ну вот так вот сделал, меня устраивает в принципе. Как профит, даже типы аргументов проверяются :) #define API_CALL(F,...) (API_PROTO_##F...
И правда косяк есть с __stdcall-конвенцией... Темплейты наверняка работают, но хочется всё-таки решить задачу используя макро-средства. Учитывая,...
osox Ух, добрый человек, респект и уважуха! Вот она, формула счастья: #define API_CALL(F, ...) ((API_TYPE_##F (*)(...))API_ADDR_##F)(__VA_ARGS__)
__noop ошибку убирает
Оки, дайте макрос подсчёта количества параметров: если нет ничего - 0, иначе {1,2,3,...} ?
Типы - хрен с ними. К тому же, похоже c typeof у MSVC/C++ какие-то проблемы, через одно место. Также выяснилось, что у __VA_ARGS__ и ellipsis...
Да не, мне макрос бы...
Гугл как-то уж размывчато выдаёт как такое сделать :(
#define API_CALL(F, ...) \ ((API_TYPE_##F (*)(X(__VA_ARGS__)))API_ADDR_##F)(__VA_ARGS__) Осталось придумать как при помощи макроса X(...)...
Друзья, подскажите кто знает, как такое чудо на MSVC реализовать: #define API_TYPE_F VOID #define API_ADDR_F 0x00123456 API_CALL(F, Arg1, Arg2,...
Это глупость, лучше заносите в стек DWORD, а не читайте WORD.
Не прививаюсь, ребёнка не прививал. Здравый образ жизни, правильная диета с отказом от алкоголя, мяса, рыбы, яиц + практика голоданий и йога....
19841204 Ну так коммент свой восстанови, а то хрень конечно получается с редактированием..
Ну сделайте список указателей, в чём проблема-то? Кстати, КК как-то предлагал использовать старший бит указателя в качестве признака невалидности:...
INT 0x80 - сервис системных вызовов ядра Linux Смотрите тут: arch/x86/kernel/syscall_table_32.S include/asm-generic/errno.h...
Имена участников (разделяйте запятой).