Мне известно, что в целом это плохая практика (и ARM, вероятно, говорит, что это неопределенное поведение), но я пытаюсь написать быстрый анализатор текста, содержащий много чисел с плавающей запятой, и было бы очень дорого обернуть загруженный файл.текст в защищенный тип, учитывая, что данные проверяются символ за символом и могут иметь до миллиона операций с плавающей запятой или передавать срез в стек.
Возможно ли в Ada (GNAT) "безопасно""разделить незащищенный массив для потребления несколькими задачами, учитывая, что массив никогда не записывается и только читается?
Как в:
Text : array (1..1_000_000) of Character := ...
begin
Task_1.Initialize (Start_Index => 1, End_Index => 10_000);
Task_2.Initialize (Start_Index => 10_001, End_Index => 20_000);
...