Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Cоглашение о связях С и Assembler

279
01 сентября 2005 года
bave
456 / / 07.03.2004
Вообшем у меня по соглашению о связях пара коротких вопросов:

1. Это правда что переданные аргументы ВСЕГДА выравниаются по размнру СЛОВА???? - т. е. не важно
одни байт или два занимет аргумент но смещение к следушему будет +2 от предидушего...
т.е.
mov al,BYTE ptr [bp+4] ;первый аргумент
mov dx,WORD ptr [bp+6] ;второй арг. +2, а не + 1

2. В паскале была такая деректива компилятору -
{$L\path\modulename.obj}
Она позволяла включить в проект объектный модуль
и вызывать его процедуры как внешние...
Как тоже самое сделать директивами прагмы в С ????
4.7K
02 сентября 2005 года
kelz
42 / / 21.06.2004
Цитата:
Originally posted by bave
2. В паскале была такая деректива компилятору -
{$L\path\modulename.obj}
Она позволяла включить в проект объектный модуль
и вызывать его процедуры как внешние...
Как тоже самое сделать директивами прагмы в С ????


Это зависит от реализации языка. В Борланде, например, такое можно сделать директивой #pragma link “[path]modulename[.ext]”.
Из книги Страуструпа:

Цитата:

Строка вида #pragma строка лексем заставляет реализацию вести себя некоторым определенным образом при условии что реализация "понимает" эту строку. Любая нераспознанная строка #pragma игнорируется.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог