Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
Имитационное мо... 59474
Реклама
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 13,109
новичок: syqwe
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование процесса обработки заданий на вычислительном центре на GP...
Расчет мер близости на отношениях на Delphi + Пояснительная записка
Информационная система - транспортный парк на Turbo Pascal (База данных)...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Соглашение о вызовах



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


Директива, определяющая тот или иной способ передачи параметров, при-
водится в заголовке процедуры или функции и указывает компилятору со-
глашение о вызовах, применяемое для данной функции. В языке Pascal по
умолчанию всегда используется директива Register. Она определяет, что па-
раметры будут передаваться через регистры процессора, в порядке слева на-
право, и регистры будет очищать вызываемая процедура. Директива Cdecl
указывает компилятору, что вызов функции должен быть осуществлен в
стиле языка С. Параметры загружаются в стек справа налево, затем стек
очищается вызывающим процессом. Директива Pascal извещает компиля-
тор, что необходимо сгенерировать код в стиле языка Pascal. Параметры
процедуры помещаются в стек слева направо, стек очищает вызываемая
процедура. Директивы Stdcall и Safecall, как и Cdecl, указывают компилято-
ру помещать в стек параметры слева направо, но стек очищает вызываемая
процедура, как в случае применения директивы Pascal. Если мы будем ис-
пользовать создаваемую динамическую библиотеку для вызова процедур и
функций из макросов Excel, то лучше в их описании использовать директи-
ву Stdcall:
Function GetDateDialog:variant; Stdcall;



Рассмотрим программный код динамической библиотеки, которую мы бу-
дем использовать в макросах документов MS Excel.
Опубликовал Kest October 05 2009 18:08:20 · 0 Комментариев · 5284 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Delphi Быстрый Ст...
Панель случайной ...
Мод "проверочный ...
С# для профессион...
Handles
Как программирова...
ComboBox97
начисление процен...
DS_Group
Borland Delphi 6....
Page Promoter 7.7...
Delphi7 Для профе...
SysInfo [Исходник...
3D Октаэдр
Стелтинг Стивен, ...
Matrix2D
PDJPack
39 статьи по Delphi
Разработка клиент...
База предприятий ...

Топ загрузок
Приложение Клие... 100512
Delphi 7 Enterp... 90282
Converter AMR<-... 20092
GPSS World Stud... 15003
Borland C++Buil... 12719
Borland Delphi ... 8944
Turbo Pascal fo... 7093
Калькулятор [Ис... 5136
Visual Studio 2... 5018
FreeSMS v1.3.1 3554
Случайные статьи
ПортисточникаАдрес...
Программа Ghostvie...
Компания Intel
15.6. Дополнительн...
FIXED
Листинг 2.13, 2.14
Типы и разновиднос...
Получение событий ...
Перечисление В язы...
Подвесной светильн...
Игра 6 на 7 на Str...
Stern travel 20
Оглавление. Java. ...
Онлайновая инфогра...
BestChange.ru – са...
Изменение звуковой...
Error in type
Сотрудник службы б...
Блок DEPART
Продвижение сайта SEO
Введение в FPDF
Раздел описания ти...
2. Приведенные ниж...
Старые открытки
Прямая адресация
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?