Один из примеров, который я могу придумать, это то, что программа использует представление чисел с прямым или обратным порядком байтов. Я считаю, что это определенно будет считаться поведением, определяемым реализацией.
На некоторых микросхемах, например некоторых микросхемах ARM, можно переключать режимы во время выполнения, поэтому вам может потребоваться компилятор, который может создавать программу, которая будет работать в любом режиме, что означает, что у вас есть определенное реализацией поведение, которое потенциально может отличаться при каждом запуске в зависимости от по внешним настройкам.
Точно так же, я думаю, вы могли бы написать компилятор, который производил бы как 32-, так и 64-разрядные компиляции одной и той же программы - и режим, который он выполнял, можно было бы определить во время выполнения. Опять же, в документации должно быть указано, что ints были 32-битными или 64-битными, в зависимости от того, как вы его запускали.
Честно говоря, я не вижу, чтобы кто-то делал что-либо из этих вещей, но они оба звучат смутно правдоподобными примерами того, о чем вы просили, и я не понимаю, почему они не будут законными в соответствии со стандартом, если документация должным образом задокументировал природу зависимого от системы поведения.
person
jcoder
schedule
21.07.2010