![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Solodov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
В общем, данное встретил в демонстрационных файлах для микроконтроллера JN5121...
#ifdef GDB void (** const rom_breakpoint_ptr)(void) = (void (**)(void))0xf0017004; #endif кто-нибудь подскажет что это такое и для чего надобно? P.S. заранее благодарен. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
если я правильно понял -- по адресу 0xf0017004 берется функция rom_breakpoint_ptr
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
Условная компиляция.
Если где-то раньше есть #define GDB , то эта строчка будет откомпилирована, иначе - считай закомментирована
Это сообщение отредактировал(а) threef - 23.3.2006, 18:47 |
|||
|
||||
| kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
threef, Извиняюсь что не создаю отдельного топика, просто вопрос практически тот же самый тока с уточнением: а если #define будет после #ifdef-а?
По вашим словам компилироваться не должно, а умя компилируется |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
Daevaorn, Так небывает:
И ведь работает с таким файлом прога. |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
| Dragon |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 10.8.2006 Где: Киев Репутация: нет Всего: нет |
#ifdef - if defined
#ifndef - if not defined Вместо #ifdef можешь использовать #if defined(), например:
По поводу #define и #ifdef - стандартная вещь в хеадерах - macro guard:
Macro guard используется для того чтобы избежать повторного включения одного и того же заголовочного файла в код - и соответственных ошибок компиляции, вроде redefinition of a symbol. Т.е. войти в секцию кода, ограниченную macro guard'ом можно только один раз, т.к. #ifndef при повторном проходе обнаружит, что _SOME_HEADER_H уже определено. Это сообщение отредактировал(а) Dragon - 8.10.2006, 13:10 |
||||
|
|||||
| kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
Damarus, Пардон, лажанулся, с макросами только вот недано столкнулся - в глазах о них ребит немного.
Dragon, Спасибо за объяснение.. У меня как раз вапрос на языке вертелся |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |