Как упростить слишком много `#ifdef`?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как упростить слишком много `#ifdef`?

Сообщение Anonymous »

У меня есть две функции, и я могу убедиться, что какое или оба использовать при нанесении.

Код: Выделить всё

void main(){
#ifdef WHEN_USE_FUNC1
func1();
#endif
#ifdef WHEN_USE_FUNC2
func2();
#endif
}
и я передаю when_use_func1/when_use_func2, когда cmake наполняется как cmake -dwhen_use_func1 .
Но мой вопрос -когда funcx () приходит больше и моя программа. становится более сложным, слишком много #ifdef станет трудно читать и поддерживать. Так есть ли лучший метод реализации, чтобы получить то, что я хочу?
обновление < /h2>

Код: Выделить всё

class C{
public:
void common_func();
void func1();
void func2();
}
< /code>
Теперь я хочу получить разные исполняемые файлы, чтобы делать вещи в разных местах.
для exe1 я хочу < /p>
void main(){
C c;
c.common_func();
c.func1();
}
< /code>
для exe2 я хочу < /p>
void main(){
C c;
c.common_func();
c.func2();
}
< /code>
для exe3 я хочу < /p>
void main(){
C c;
c.common_func();
c.func1();
c.func2();
}
< /code>
Поэтому я дополняю его как < /p>
void main(){
C c;
c.common_func();
#ifdef WHEN_USE_FUNC1
c.func1();
#endif
#ifdef WHEN_USE_FUNC2
c.func2();
#endif
}
< /code>
Если я хочу получить Exe1, я компилируюсь исполняемым файлом с использованием cmake -dwhen_use_func1 .. < /code> и так далее.
Но это часть очень упрощенного кода, когда #ifdef 
становится все больше, и я хочу более сложную и вложенную связь между funcx () , коды станут трудно читать и поддерживать. Так есть ли лучший метод реализации, чтобы получить то, что я хочу? п>

Подробнее здесь: https://stackoverflow.com/questions/794 ... many-ifdef
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Законно ли использовать #elif с #ifdef?
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Не собирать части кода в Java (например, #ifdef) [дублировать]
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • #ifdef vs #if - что лучше/безопаснее в качестве метода для включения/отключения компиляции конкретных разделов кода? [за
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • #ifdef vs #if - что лучше/безопаснее в качестве метода для включения/отключения компиляции конкретных разделов кода? [за
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Насколько можно упростить этот код?
    Гость » » в форуме CSS
    0 Ответы
    54 Просмотры
    Последнее сообщение Гость

Вернуться в «C++»