Предположим, у меня есть указатель на файлЧто происходит, когда мы разыскиваем указатель FILE?
FILE* infile = fopen("<somefilepath", "r");
Теперь, когда я разыменования указателя файла в GDB, то я получаю
печать * входной_файл
│ $ 2 = {_flags = -72539000, _IO_read_ptr = 0x0 , _IO_read_end = 0x0,
│ _IO_read_base = 0x0, 0x0 = _IO_write_base, _IO_write_ptr = 0x0,
│ _IO_write_end = 0x0, 0x0 = _IO_buf_base, _IO_buf_end = 0x0,
│ _IO_save_base = 0x0, _IO_backup_base = 0x0, _IO_save_end = 0x0, _markers = 0x0,
│ _chain = 0x7ffff7dd41c0 < _IO_2_1_stderr_>, _fileno = 3, _flags2 = 0,
│ _old_offset = 0, _cur_column = 0, _vtable_offset = 0 «\ 000' , _shortbuf = "",
│ _lock = 0x6020f0, _offset = -1, __pad1 = 0x0, __pad2 = 0x602100, __pad3 = 0x0,
│ __pad4 = 0x0, __pad5 = 0, _mode = 0, _unused2 = ' \ 000 '}
Может кто-нибудь помочь мне понять, что это значит?
Это то, что 'File' содержится в вашей реализации библиотеки. Если вам интересно, что означают все эти члены, ответ на этот вопрос будет слишком длинным, и оба слишком широкие и слишком специфичные для этого сайта. – molbdnilo
То же самое и для любой другой структуры. – Olaf