![]() |
|
|
![]()
|
|
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Слышал, что можно использовать #define или что-то в этом роде для предопределения компиляции определенных кусков. Т.е. если я укажу, что демо, то некоторые части исходного кода не будут включены в программу, т.е. вообще не будут откомпилированы.
Как это лучше всего сделать? Или скажем, как лучше всего сделать DEMO-версию программы, в которой урезанный функционал? |
|||
|
||||
| zkv |
|
||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 1 Всего: 92 |
надежнее всего исключить из компиляции лишние участки кода.
теперь, если макрос COMPILE_AS_DEMO определен, то будет компилироваться урезанная версия, если нет - то полная. плюс посмотри в хелпе, какие директивы еще могут помочь тебе (#else #elif и пр.) |
||||
|
|||||
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
а вообще, какие директивы часто используются и для чего?
вот буквально пару дней назад я пытался запихать в директиву константу... на что получил отве копилятора об ошибке... хотелось бы узнать (можно с примерами) для чего и как используются директивы... PS: в справке такого узнать нельзя - ведь она дает ответ только по интересующему вопросу, а не дает интересной информации... для размышления ;) Это сообщение отредактировал(а) fridkaratel - 25.10.2007, 18:32 |
|||
|
||||
| Starikan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 25.10.2007 Репутация: нет Всего: -15 |
fridkaratel, Подгрузка массивов в директивный поток с использованием функций из библиотек разынх видов архивов является хорошим вариантом решения данной проблемы
|
|||
|
||||
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Starikan, хороший пост...
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
||||
|
||||
| zkv |
|
||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 1 Всего: 92 |
да все это уже на десять рядов расписано.
На пальцах. Компиляция происходит в несколько проходов, так вот директивы препроцессору анализируются до того как начинается разбор исходника (точнее в справке к компилятору смотри). Отсюда и все следствия - макроопределения бьют все остальные конструкции. С помощью них можно указать какие участки кода компилировать какие нет (пример показал выше), ну вот поизощренней пример:
или какие участки компилировать только 1 раз, часто используется в хедерах, как защита от двойного подключения:
Это сообщение отредактировал(а) zkv - 26.10.2007, 10:00 |
||||
|
|||||
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
вот тут все понятно досканально! большое спасибо! ;)
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 1 Всего: 92 |
опечатки были, исправил.
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |