Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Видимость констант в .lib CVAVR

Непрочитано 14.11.2010, 21:56  
kotbimigot
Частый гость
 
Регистрация: 14.06.2010
Сообщений: 28
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
kotbimigot на пути к лучшему
По умолчанию Видимость констант в .lib CVAVR

Подскажите пожалуйста,почему в .lib не видятся константы,определенные через #define в основном файле програмы?это особенность либов в CVAVR? как можно эту проблему решить? Если определяю такие константы через project-›configure-›C compiler-›global#define, все нормально видится.Какие ограничения и особенности нужно учесть при использовании global#define?Неужели все глобальные константы пихать в global#define?
Реклама:
kotbimigot вне форума  
Непрочитано 15.11.2010, 01:09  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Попробуйте ставить #include"*.lib" после define.
Vov123 вне форума  
Непрочитано 16.11.2010, 18:34  
I146
Прохожий
 
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
I146 на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Сообщение от Vov123 Посмотреть сообщение
Попробуйте ставить #include"*.lib" после define.
Не все так просто как кажется.
Переименуйте системную переменную ALTERNATIVE_GETCHAR на любое произвольное имя и попробуйте её объявить в любом месте своего проекта.
НИЧЕГО не получится. Глобальные имена пришиты к LIB-файлу похоже на уровне самого компилятора.
I146 вне форума  
Непрочитано 16.11.2010, 18:43  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

еxtern обычно ..но в CV есть закрытые библиотеки
Стоп. не очень понятно .в 2.xx -подключается и Битовый файл-Определений..

Последний раз редактировалось OlegNZH; 16.11.2010 в 18:48.
OlegNZH вне форума  
Непрочитано 16.11.2010, 20:17  
I146
Прохожий
 
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
I146 на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Смысл происходящего в том, что была необходимость менять значения константы. А она не передается lib, он работакт только с глобальными константами компилятора или константами определенными в самом lib или константами определенными в конфигурации проекта. В аргументах функций из lib нет таких констант.
Проверено.
I146 вне форума  
Непрочитано 16.11.2010, 20:24  
I146
Прохожий
 
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
I146 на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Подробнее:
была необходимость условной компиляции в Lib-файле по внешней переменной (константе).
Где-бы не определялась эта переменная ее не видно. Только из конфига проекта. а это мне показалось не очень удобно.
При потере конфига через год не вспомнишь что там было.
I146 вне форума  
Непрочитано 16.11.2010, 20:29  
I146
Прохожий
 
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
I146 на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

По поводу закрытых библиотек:
Все открыто, использую, расширяю встроенные функции и никаких проблем.
Открывается просто: убираю ограничения на область видимости субфункций.
I146 вне форума  
Непрочитано 16.11.2010, 20:33  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Улыбнуло .. 1Wire откройте мне ...плиззз. (для начала)

Последний раз редактировалось OlegNZH; 16.11.2010 в 20:43.
OlegNZH вне форума  
Непрочитано 17.11.2010, 15:52  
I146
Прохожий
 
Регистрация: 23.07.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
I146 на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Вопрос был про LIB.
Я не фокусник что-бы выковыривать asm-вставки компилятора для 1-Wire.
Всему есть разумные ограничения надо понимать.
Надеюсь на профессиональный ответ, а не на фиги в кармане.
I146 вне форума  
Непрочитано 17.11.2010, 17:51  
kotbimigot
Частый гость
 
Регистрация: 14.06.2010
Сообщений: 28
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
kotbimigot на пути к лучшему
По умолчанию Re: Видимость констант в .lib CVAVR

Сообщение от OlegNZH Посмотреть сообщение
еxtern обычно
какой extern, если #define?
kotbimigot вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размещение констант в памяти программ в PIC ST_Senya Микроконтроллеры, АЦП, память и т.д 10 15.10.2009 20:12


Часовой пояс GMT +4, время: 14:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.