Обратите внимание, что в компиляторе и RTL есть допущения, что указатели, интерпретируемые как 32-разрядные целые числа со знаком, никогда не будут отрицательными. Например, компилятор не разрешит создание структуры данных размером более 2 ГБ, а некоторые проверки границ в RTL предполагают, что, например, Index + Count < 0
означало переполнение сложения, где Index
может быть индексом в байтовом массиве. Другие проблемы могут возникнуть в диспетчере памяти.
Испытайте хорошо и действуйте на свой страх и риск.