
17.01.2010, 17:09
|
|
Banned
Регистрация: 09.12.2009
Сообщений: 7
Провел на форуме: 176856
Репутация:
35
|
|
[C# | FAQ] Условная компиляция
Появилась недавно у меня задача компиляции программы под разные устройства. Ряд устройств в моём случае обладают специфическими возможностями и для них задействуются специальные библиотеки, а для некоторых обычных устройств — эти библиотеки надо исключать. Можно конечно комментировать каждый раз — но включений довольно много и такой подход весьма проблематичен. Но есть очень хороший выход из этой ситуации, называется он условная компиляция.
Для условной компиляции используются директивы: #define, #if, #else, #endif.
Как обычно долго рассуждать как это использовать не буду, просто приведу пример:
Код:
#define PARAM1
#if PARAM1
Console.Write("Defined PARAM1");
#else
Console.Write("Not defined PARAM1");
#endif
При этом будет скомпилирован код:
Код:
Console.Write("Defined PARAM1");
Код:
//#define PARAM1
#if PARAM1
Console.Write("Defined PARAM1");
#else
Console.Write("Not defined PARAM1");
#endif
При этом будет скомпилирован код:
Код:
Console.Write("Not defined PARAM1");
Вот и всё.
|
|
|