ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Модификаторы cdecl и pascalМодификаторы cdecl и pascal влияют на порядок размещения аргументов в вызовах функций и определяют вид внешних имен программы. В языке С порядок передачи параметров указывает модификатор типа функции cdecl. Он устанавливается специальным параметром IDЕ (Мain Menu-Options-Compi1er-Code GenerationCalling Coпvention для Тurbо С версии 2.01 или Мain MenuOptions-Compile-Entry/Exit Code в Вorland С++) или задается опцией командной строки (-р-). По умолчанию выбирается cdecl. Альтернативой Си-порядку передачи параметров является последовaтельность передачи параметров, принятая в языке pascal, - копии аргументов "пyшиpуются" в стек, начиная с первого. Как результат, - копия первого аргумента имеет в оперативной памяти больший адрес, чем копия последнего. На такой порядок передачи параметров указывает модификатор типа функции pascal. Явное задание порядка передачи отменяет порядок передачи, принимаемый компилятором по умолчанию. Модификаторы типа функции должны совпадать как в прототипе, так и в определении функции. В языке pзsса1 не поддерживается переменное число аргументов и функция с модификатором pascal должна иметь фиксированное число аргументов. Модификатор типа функциu pascal требуется при разработке Си-функций, кoтoрые будут вызываться из Pascal-программ. Модификатор pascal приписанный функциям и внешним переменным определяет и их внешнее представление. В этом случае все буквы идентификаторов преобразуются в заглавные и снабжаются лидирующим символом подчеркивания. Пример int pascal zummer(void); // внешнее имя приобретает вид _ZUMMER. int cdecl Bag; // внешнее имя приобретает вид _Bag Модификаторы действуют локально, изменяя глобальное действие установленных опций. Вопросы для самоконтроля
Не нашли, что искали? Воспользуйтесь поиском:
|