реклама на сайте
подробности

 
 
> присоединение программы на ассемблере(asm) к программе на С
KosTTTT
сообщение Aug 27 2014, 13:42
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 12-08-14
Пользователь №: 82 523



Как присоединить большую программу, написанную в AVR Studio на ассемблере к программе на С? В интернете вроде бы прочел, что надо присоединить объектный файл программы на ассемблере на этапе линковки, но как это сделать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex11
сообщение Aug 27 2014, 17:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Две программы соединить нельзя. Кто-то из них должен быть программой, а кто-то подпрограммой, из нее вызываемой. Обычно на С пишется головная программа, а на ассемблере подпрограмма. В этом случае подпрограмма должна соблюдать некоторые ограничения, накладываемые С-компилятором. Далее, в Вашем случае будут, скорее всего, еще дополнительные сложности, т.к. AVR-студия не имеет своего С-компилятора. Вам нужно найти С-компилятор с линкером, который поймет формат объектного файла, сформированного AVR-студией. Либо транслировать программу, написанную под студию другим ассемблером. Здесь возможны расхождения в синтаксисе и куча правок руками. А в принципе, достаночно линкеру указать два модуля для линковки, и они соединятся.
Go to the top of the page
 
+Quote Post
KosTTTT
сообщение Aug 28 2014, 06:34
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 12-08-14
Пользователь №: 82 523



Объектный файл, сформированный AVR Stuio имеет формат .obj, а компилятор Си, GCC - .o. Я так понял, я не смогу их соединить на этапе линковки?
Кстати не могли бы вы объяснить, как мне в какой-нибудь среде (WinAVR, Eclipse, CVAVR) присоединять готовые объектные файлы, чтобы не компилировать по нескольку раз файлы .с?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 10:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016