мне нужно понять и воспроизвести (на другом языке) логики следующей функции (код C) , и я не очень понимаю, что он делаетЧто будет выводить простую функцию C и почему?
double __thiscall sub_1(int this) {
return * (double *) (this + 12);
}
Это компилируется нормально, но разбился во время работы Исполняемый файл
Я не сильный с C на всех, и не может узнать, какие фактические манипуляции этот набор операндов делает * (двойной *) это не разыменования, потому что нет никаких указателей, объявленных ,
Во всяком случае, может кто-нибудь сказать мне, - что будет выход функции
для SUB_1 (2) и почему?
Вы уверены, что это точная функция? Это не имеет смысла. –
Этот вопрос будет лучше на [ReverseEngineering.SE] (http://reverseengineering.stackexchange.com/). У вас есть грубая декомпиляция исходного кода, и это неверно. – DCoder
@DCoder Хороший; Я этого не видел. Таким образом, 'this' может быть адресом структуры, содержащей 12 байтов чего-то и двойного. –