0 / 0 / 0
Регистрация: 19.01.2014
Сообщений: 44
1

Atmel Studio 6.2, GCC, повторное использование кода

11.01.2015, 09:40. Показов 3707. Ответов 5
Метки нет (Все метки)

Привет бойцам невидимого фронта! Подскажите пожалуйста, кто подобные вещи пользовал:

Есть кучка проектиков реализующие определенные задачи, скажем один проектик - работа с LCD, другой c RFM73 третий еще что-нибудь.
1. Можно ли все это собрать в одном месте (по нужде) не копируя код? как правильно в солюшене это дело сконфигурировать?
2. Использовать статические библиотеки? А как быть если используются задержки _delay_ms() ? ведь им же нужно знать частоту, а по факту она от проекта к проекту может быть разной.

3. Может есть какой-нить пример, что бы воочию узреть или документация?

Пользую студию 6.2 (ну в общем в шапке написано что пользую)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2015, 09:40
Ответы с готовыми решениями:

Запрет оптимизации макроса (Atmel Studio, GCC)
Есть макрос, написанный на ассемблере. Как запретить оптимизацию этого макроса? #define...

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

Повторное использование кода
Есть код, который необходимо использовать повторно в разных местах программы: Я пытаюсь это...

Повторное использование кода
Доброго времени суток. Подскажите, пожалуйста, как повторно использовать вот такой код? То есть...

5
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
11.01.2015, 10:19 2
что мешает сложить все в одном месте и оттуда включать в проект?
студия сама создаст makefie и будет компилировать все по необходимости

я часто делаю еще проще - используя #include включаю .c файлы в свой main() файл и компилирую
0
0 / 0 / 0
Регистрация: 19.01.2014
Сообщений: 44
11.01.2015, 10:40 3
Цитата Сообщение от oxytt
что мешает сложить все в одном месте и оттуда включать в проект?
я часто делаю еще проще - используя #include включаю .c файлы в свой main() файл и компилирую
Мешает две вещи:
1. Тот проект который должен быть скопирован может состоять из кучи каталогов и файлов, которые так же надо будет копировать и потом добавлять, а вдруг чего-то потеряется и т.д.
2. Копирование. Если я скопирую в новый проект какой-то имеющийся, и потом проведу изменения (баг отловлю), то он будет изменен только в копии, а в оригинале нет. а потом, по прошествии времени, ищи свищи где же все же последний вариант с исправлениями. Ну и это уже будет не повторное использование кода, а просто копипаст имеющегося.
0
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
11.01.2015, 13:57 4
Цитата Сообщение от TioMoom
Цитата Сообщение от oxytt
что мешает сложить все в одном месте и оттуда включать в проект?
я часто делаю еще проще - используя #include включаю .c файлы в свой main() файл и компилирую
Мешает две вещи:
1. Тот проект который должен быть скопирован может состоять из кучи каталогов и файлов, которые так же надо будет копировать и потом добавлять, а вдруг чего-то потеряется и т.д.
2. Копирование. Если я скопирую в новый проект какой-то имеющийся, и потом проведу изменения (баг отловлю), то он будет изменен только в копии, а в оригинале нет. а потом, по прошествии времени, ищи свищи где же все же последний вариант с исправлениями. Ну и это уже будет не повторное использование кода, а просто копипаст имеющегося.

Я бы добавил 3 мешающую вещь.
3. Ты поправил код библиотеки настолько, что она уже не совместима с "древним" ПО с её использованием.
Ты пытаешься выполнить сборку проекта, а тут на тебе, опции не те, да и вызов функций уже не тот.

Я пытался сам освоить SVM, ну что-то не пойму как его эффективно использовать. Поэтому завел себе папку с исходниками и туда копирую последнюю версию рабочей программы (модуля, библиотеки, заголовочного файла и т.п.). При создании нового проекта копирую файлы из нее. Потом обновляю до последней (текущей версии).
Вот таким вот не хитрым способом я создаю себе проблемы и потом пытаюсь их решить.
0
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
11.01.2015, 14:04 5
SVM/CVC позволяет делать branches - ветки разработки и хранить версии, причем версии можно маркировать
тогда например собрал и отладил проект - берешь его весь целиком и маркируешь вместе с библиотечными файлами
после этого его можно просто удалить из рабочей папки
в любой момент вытаскиваешь из репозитория по метке целиком с нужными проекту версиями билиотке
если захочешь обновить библиотеки - ручками подтягиваешь новые версии из репозитория, проверяешь сборку и снова загоняешь в репозиторий с новой меткой

как то так, а если надо разделить версии библиотек - делаешь branch
бранчи потом можно ручками сливать
0
0 / 0 / 0
Регистрация: 19.01.2014
Сообщений: 44
11.01.2015, 14:50 6
Это все здорово, но вопрос не о контроле версий (сам пользуюсь gitом :) ), а о мультипроекте.

Вроде бы получается в один солюшен навставлять "вспомогательных" проектов у которых на выходе будет статическая либа. И даже "подвязать" эти либы к целевому проекту, но остается вопрос: получается эти либы добавляются к целевому проекту уже в компилированном виде, как оно все будет работать с тем же F_CPU, как его в эти либы подсунуть (что бы менять в одном месте, а не в каждой либе где это надо прописывать), короче вопросы как-то наростают.
Может есть литература какая где про это почитать, а то хелп у атмела совсем скудненький на этот счет.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2015, 14:50

Повторное использование кода в C++
Всем доброго дня! Прошу помочь начинающему. В данный момент обучаюсь по книге Прата С.. Застрял на...

Повторное использование кода
Предположим для класса перегружен oператор+ который принимает либо строку в стиле С, или такой же...

Повторное использование кода
Добрый день. Подскажите пожалуйста новичку. Есть блок кода, который приходится использовать во...

Повторное использование исходного кода в C#
есть желание собрать в одном solution несколько (два для начала) projects с разными целевыми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.