Pertanyaan yang diberi tag function-pointers

59
Apa yang ((void (*) ()) buf) (); berarti?

Saya memecahkan tantangan eksploitasi biner di picoCTF dan menemukan potongan kode ini: ((void (*)())buf)(); dimana buf array karakter. Saya memecahkan tantangan tetapi tampaknya tidak mengerti apa yang sebenarnya ia lakukan. Saya melihat ini utas tetapi saya tidak bisa keluar. Apa ((void...

20
Bagaimana makro lambda membuat lambda?

Saya menemukan kode ini di GitHub tetapi tidak begitu memahaminya: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Kemudian: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 Apa yang garis bawah lakukan...