| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Видимость констант в .lib CVAVR
14.11.2010, 21:56
|
|
|
Частый гость
Регистрация: 14.06.2010
Сообщений: 28
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Видимость констант в .lib CVAVR
Подскажите пожалуйста,почему в .lib не видятся константы,определенные через #define в основном файле програмы?это особенность либов в CVAVR? как можно эту проблему решить? Если определяю такие константы через project-›configure-›C compiler-›global#define, все нормально видится.Какие ограничения и особенности нужно учесть при использовании global#define?Неужели все глобальные константы пихать в global#define?
|
|
|
|
15.11.2010, 01:09
|
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
Попробуйте ставить #include"*.lib" после define.
|
|
|
|
16.11.2010, 18:34
|
|
|
Прохожий
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
Сообщение от Vov123
|
|
Попробуйте ставить #include"*.lib" после define.
|
Не все так просто как кажется.
Переименуйте системную переменную ALTERNATIVE_GETCHAR на любое произвольное имя и попробуйте её объявить в любом месте своего проекта.
НИЧЕГО не получится. Глобальные имена пришиты к LIB-файлу похоже на уровне самого компилятора.
|
|
|
|
16.11.2010, 18:43
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
еxtern обычно ..но в CV есть закрытые библиотеки
Стоп. не очень понятно .в 2.xx -подключается и Битовый файл-Определений..
Последний раз редактировалось OlegNZH; 16.11.2010 в 18:48.
|
|
|
|
16.11.2010, 20:17
|
|
|
Прохожий
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
Смысл происходящего в том, что была необходимость менять значения константы. А она не передается lib, он работакт только с глобальными константами компилятора или константами определенными в самом lib или константами определенными в конфигурации проекта. В аргументах функций из lib нет таких констант.
Проверено.
|
|
|
|
16.11.2010, 20:24
|
|
|
Прохожий
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
Подробнее:
была необходимость условной компиляции в Lib-файле по внешней переменной (константе).
Где-бы не определялась эта переменная ее не видно. Только из конфига проекта. а это мне показалось не очень удобно.
При потере конфига через год не вспомнишь что там было.
|
|
|
|
16.11.2010, 20:29
|
|
|
Прохожий
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
По поводу закрытых библиотек:
Все открыто, использую, расширяю встроенные функции и никаких проблем.
Открывается просто: убираю ограничения на область видимости субфункций.
|
|
|
|
16.11.2010, 20:33
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
Улыбнуло .. 1Wire откройте мне ...плиззз. (для начала)
Последний раз редактировалось OlegNZH; 16.11.2010 в 20:43.
|
|
|
|
17.11.2010, 15:52
|
|
|
Прохожий
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Видимость констант в .lib CVAVR
Вопрос был про LIB.
Я не фокусник что-бы выковыривать asm-вставки компилятора для 1-Wire.
Всему есть разумные ограничения надо понимать.
Надеюсь на профессиональный ответ, а не на фиги в кармане.
|
|
|
|
17.11.2010, 17:51
|
|
|
Частый гость
Регистрация: 14.06.2010
Сообщений: 28
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Видимость констант в .lib CVAVR
Сообщение от OlegNZH
|
|
еxtern обычно
|
какой extern, если #define?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:23.
|
|