Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
03.03.2008, 15:37
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Как в AVR Studio для программы на ассемблере указать "к
Как в AVR Studio для программы на ассемблере указать "корень" для include-файлов?
Т.е. я хочу сделать условную компиляцию
Которая, НАПРИМЕР, в одном случае к относительному пути includ-файла "ffffggg tt.inc" добавит "корень" "с:zzzyyy" и в результате полный путь получиться такой: "с:zzzyyyffffggg tt.inc"
А в другом случае добавит корень "с:wwwmmm" и в результате полный путь получиться такой: "с:wwwmmmffffggg tt.inc"
Можно ли это как-то реализовать в программе на ассемблере в AVR Studio? Или вообще как-то можно решить эту проблему?
|
|
|
|
03.03.2008, 16:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Гы.. приколист... впрочем... съел компилятор
#define path2 "c:/bred/pic.h"
#ifndef path2
#define path2 ‹pic.h›
#endif
#include path2
Если нет определения патч2 в первой строке, то берется средняя строка из конструкции #ifndef #endif (‹pic.h›)
К сожалению, склеивание лексем, как в языках старшего уровня, через ##, не работает.
|
|
|
|
03.03.2008, 21:02
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от urry
|
К сожалению, склеивание лексем, как в языках старшего уровня, через ##, не работает.
|
Очень жаль... Мне именно оно и нужно было. А то прописывать по десять условных ветвей для каждого из более чем 40 инклуд-файлов уж больно утомительное дело.. Да и ошибиться при таком способе можно уж очень легко
|
|
|
|
04.03.2008, 12:35
|
|
Гражданин KAZUS.RU
Регистрация: 16.12.2004
Сообщений: 587
Сказал спасибо: 13
Сказали Спасибо 23 раз(а) в 9 сообщении(ях)
|
Для чего это нужно? Если для независимости проектра от пути, то можно попробовать использовать относительные пути. Примерно так:
Код:
|
.include "....ffffggg tt.inc" |
это будет означать 2 директории вверх, а потом "ffffggg tt.inc"
В IAR это работает, в AVR-Studio не пробовал, но работать должно. А вот насчёт "условного программирования" неуверен - ввели они его начиная с 4 версии и у меня работало очень криво.
|
|
|
|
04.03.2008, 14:54
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от NemoCut32
|
В IAR это работает, в AVR-Studio не пробовал, но работать должно.
|
А я пробовал.. Не работает
Сообщение от NemoCut32
|
А вот насчёт "условного программирования" неуверен - ввели они его начиная с 4 версии и у меня работало очень криво.
|
А я его использовал уже в нескольких проектах. Никаких нареканий нет.
А вообще я уже решил проблему с помощью создания виртуальных дисков командой subst. Спасибо, нашлись добрые люди, научили.
Так что топик объявляю закрытым
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:12.
|
|