насколько помню - объявить ее имя в асме как EXTERN name; Причем не забываем о правилах декорации в С - перед именем ставим underscore "_" Если режим С++ то по идее все сложнее
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
DASM
28 августа 2004 г. 19:46
В ответ на:
Помогите!!!!!!!!!!!! IAR C 2.3 for AVR. Как вызвать сишную функцию из асемблерного модуля?
отправлено asdfghjk 28 августа 2004 г. 18:11
Составить ответ
|||
Конференция
|||
Архив
Ответы
Вот именно что С++. Я именно так и сделал. НЕ РАБОТАЕТ! ругается линкер
—
asdfghjк
(28.08.2004 20:07,
пустое
)
ну да в С++ декорация намного сложнее, в частности для возможности перегрузки функций. Делаем так - компилим с включенной генерацией листинга. В листинге выкусаем декорированное имя ф-ции и со словом EXTERN вставляем в асм
—
DASM
(28.08.2004 20:46,
пустое
)
Фигушки! не работает! Си-компилятор не объявляет функцию как паблик, объявить в другом С-модуле екстерном, тоже не работает!
—
аsdfghjк
(28.08.2004 20:52,
пустое
)
PS в доке все есть, в тч и как пихать переменыые для вызова
—
DASM
(28.08.2004 19:47,
пустое
)
Всю доку перерыл, не нашел
—
asdfghjk
(28.08.2004 20:54,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru