Операционная система UNIX


Особенности мобильного программирования на языке Си - часть 4


Предыдущие четыре ситуации влияют на вывод текста на дисплей.

  • Представление плавающих типов.

Переносимая программа не должна использовать информацию о представлении (т.е. о битовой структуре) плавающих типов, поскольку именно в реализации плавающей арифметики существенно различаются разные вычислительные системы.

  • Порядок вычисления выражений - в любом порядке, учитывающем только правила предшествования операций и расстановку скобок.
  • Порядок, в котором возникают побочные эффекты.
  • Порядок, в котором вычисляются параметры вызова функции и само значение этой функции.

За исключением тех случаев, когда порядок вычисления выражения зафиксирован синтаксическими правилами или указан в стандарте каким-либо другим образом (для операции вызова функции (), операций логического умножения, логического сложения, условной операции и операции перечисления выражений), порядок вычисления подвыражений и порядок возникновения побочных эффектов не уточняется. Выражение, содержащее более, чем одно вхождение одной и той же коммутативной и ассоциативной бинарной операции (*, +, &, ^, |), может свободно перегруппировываться, независимо от наличия скобок, при условии, что типы операндов или результаты от такой перегруппировки не изменятся. В переносимой программе следует избегать выражений, порядок вычисления которых существенно влияет на их значения или вырабатываемые побочные эффекты. Если же такое выражение возникает, то содержащий его оператор всегда можно разбить на эквивалентную последовательность из нескольких операторов, не содержащих подобных выражений. Например, оператор

x=f()+g();

можно заменить на последовательность операторов

y=f();

x=y+g();

или

y=g();

x=f()+y;

в зависимости от нужного порядка вызова функций f() и g().

Чтобы зафиксировать некоторое конкретное группирование операций, нужно присвоить значение выражения, которое требуется явно выделить, некоторому объекту данных, либо поставить перед группирующими скобками унарный оператор плюс.

  • Отведение памяти под формальные параметры.




- Начало -  - Назад -  - Вперед -



Книжный магазин