metaclass: (Default)
[personal profile] metaclass
Оригинальный код:
((void (*)())0)();

Чтобы понять происходящее, я его сначала откомпилировал, затем дизассемблировал, получилось такое:
xor eax,eax
call eax

Затем я это дело разделил собственно на объявление указателя на функцию и на вызов:

typedef void (*fptr)();

void main(){
((fptr)0)();
}

Особо бесит указание имени объявляемого типа в середине объявления. Очень логично. Это как если бы присвоение var1=var2 в стиле va(=var1)r2;

Date: 2007-01-17 01:14 pm (UTC)
From: [identity profile] dpla.livejournal.com
Пишите на Паскале. Всё понятно будет. А приверженцев "Си" надо холокостить холокостом.

Date: 2007-01-17 01:54 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да я пишу на чем попало, а этот мрак просто попался тут по работе.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 23rd, 2025 03:18 pm
Powered by Dreamwidth Studios