usernameak
угадайте зачем я юзаю -fno-PIC
Denis
с битами работать
Berkus
или реально не знаешь?
ну и непонятно нафига оно 5, если это должно указывать на вызывающую инструкцию - так это не только непортабельно но даже с разными флагами компиляции работать перестанет
Denis
нет, это не то
Aidar
Ну там вон форварда нет
Aidar
В функшн
Aidar
Колл
Aidar
И все по копии
Aidar
Так надо?
Denis
номера строк подкинь
Aidar
Первая функция ващк
Berkus
номера строк подкинь
отвечай на мой ответ!
Denis
так надо
Denis
Очевидно, чтобы вызывать operator bool() const { return (_data & _mask) != 0; }
Denis
ЭТО ОДНА ФУНКЦИЯ!
Denis
А ты налепил ДВА КЛАССА!
Berkus
так надо
или не надо
Denis
ну напиши как надо, сравним
Aidar
так надо
Я не могу вызывать штуки удаленные с передачей ссылки?
Berkus
ну напиши как надо, сравним
вообще можно без функции, (data bit_and mask) всё
Denis
это другой случай
Berkus
ну да ну да
Aidar
Накой нужен инит
Aidar
В sig scanner
Berkus
хуйня это а не функция, в x86 есть десяток вариантов вызвать функцию из них меньше половины будет 5 байт длиной
Aidar
Выглядит как конструктор
Berkus
да читер читер, и так видно же по либе. либо вири писать либо еще какую-то малварь
Anatoly
@videnex а зачем ты используешь inline в теле класса? причем не везде, а избирательно: inline Ret call_cb(Args ... args) { std::lock_guard<std::mutex> guard(_mutex); hook::raii scope(*_hook); return _cb ? _cb(args...) : call(args...); }
Deleted Account
пруф или софтваре тестер
Aidar
это другой случай
А ты случаем не Александр Белов?
🐙 Antony
нужна критика
* Стоит perfect forwarding для аргументов (одни из мест: https://github.com/urShadow/urmem/blob/master/urmem.hpp#L468) * void в круглых скобках - моветон из С https://github.com/urShadow/urmem/blob/master/urmem.hpp#L246 * Вот тут я бы навесил static_assert на то, что размеры у них совпадают https://github.com/urShadow/urmem/blob/master/urmem.hpp#L58 * static const вот тут, чтобы было чуть побыстрее https://github.com/urShadow/urmem/blob/master/urmem.hpp#L72 * Не уверен что пользователю надо знать про jmp и length https://github.com/urShadow/urmem/blob/master/urmem.hpp#L330 * Зачем мьютекс? https://github.com/urShadow/urmem/blob/master/urmem.hpp#L451
Denis
адрес из пространства модуля, в котором будешь производить поиск
Denis
Накой нужен инит
Denis
В sig scanner
Denis
это и есть конструктор, в чем проблема?
Aidar
В любом случае в апи не должно быть строгого порядка вызова
Aidar
Это не конструктор в том и проблема
Denis
а, стоп
Aidar
а, стоп
Так ты Александр Белов или нет?
Denis
ну да, стоило конструктор сделать, согласен
брат
Кто такой Александр Белов?
Aidar
Он тут забанен не парься
Anatoly
Aidar
Я с ним в ВК болтаю
брат
Я с ним в ВК болтаю
Ссылку на него?
Aidar
Нет
брат
Как у него тут ник?
брат
И что он из себя представляет?
Aidar
Забей
🐙 Antony
нужна критика
* а почему address_t не void* ?
Aidar
/report
Denis
ладно, с urmem все понятно, давно пора было его переписать
Denis
может другие репозитории посмотрите?
Anatoly
@videnex идентификаторы начинаются на _
Denis
это не закон
Denis
или ты о чем вообще?
Denis
про поля класса?
Anonymous
Отказался от крестов, т.к. нужен был нормальный ООП
🐙 Antony
нужна критика
* Апи можно упростить. Вместо m::smart_hook<e_hook::h_sum, m::calling_convention::cdeclcall, int(int, int)> hook_sum(m::get_func_addr(&sum)); пользователь должен мочь просто вызвать m::smart_hook<e_hook::h_sum> hook_sum(&sum);
Anatoly
@videnex куски с условной компиляцией я бы вынес в policy
Jabostan
здарова мужики
Jabostan
ок
Aidar
Привет
Jabostan
Anonymous
Сколько лет кодите на си?
Aidar
0
Aidar
Это чат по плюсам
Anonymous
А на арестах
Anonymous
Крестах
Jabostan
вы арестованы
Jabostan
слыште а саньку белова знаете да
Jabostan
он тут был уже???