Поведение не определено. Компилятор переменного тока может оптимизировать доступ к указателю, отмечая, что в факте не используется p
, только объект *p
, и заменить *p
на q
и эффективно создать программу, которая соответствует этому исходному коду:
#include <stdio.h>
int main(void) {
int q = 5;
printf("%i", q); //shows 5
}
Таков случай, когда я компилирую программу с GCC 7.3.0 и переключателем -O3
- без сбоев. Я получаю сбой, если скомпилирую без оптимизации. Обе программы соответствуют стандарту интерпретации кода, а именно то, что разыменование указателя, который не указывает на допустимый объект, имеет неопределенное поведение .
Для чего-либо имеющего отношение к PDFs в.NET я рекомендую iText#
Похоже, что возможно извлечь изображения, но у меня не было шанса протестировать это.
Надежда это помогает и удача :)