Код: Выделить всё
void main(){
#ifdef WHEN_USE_FUNC1
func1();
#endif
#ifdef WHEN_USE_FUNC2
func2();
#endif
}
Но мой вопрос -когда 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
Подробнее здесь: https://stackoverflow.com/questions/794 ... many-ifdef