Един пример, за който мога да се сетя, е дали програмата използва голямо или малко endian представяне за числа. Вярвам, че това със сигурност ще се счита за поведение, определено от изпълнението.
На някои чипове, например някои ARM чипове, е възможно да се превключват режимите по време на изпълнение, така че може да искате компилатор, който може да създаде програма, която да работи в който и да е от двата режима, което означава, че имате дефинирано поведение за изпълнение, което потенциално може да бъде различно при всяко изпълнение в зависимост на външни настройки.
По подобен начин предполагам, че бихте могли да напишете компилатор, който произвежда и 32 и 64 бита, компилирани от една и съща програма - и режимът, който изпълнява, може да бъде определен по време на изпълнение. Отново в документацията трябва да се каже, че int-ите са 32-битови или 64-битови в зависимост от това как сте го стартирали.
Честно казано, не виждам някой да прави нито едно от тези неща, но и двете звучат смътно правдоподобни примери за това, което искахте, и не виждам защо не биха били законни според стандарта, стига документацията да е подходяща документира естеството на зависимото от системата поведение.
person
jcoder
schedule
21.07.2010