C/C++

Помогите в C++ Включить CPP файл по условию

В интернете не нашёл, очень долго искал! Вообщем мне надо выполнить (включить) cpp файл, когда выполнилось условие. Вот у меня код:

short WINAPI DLLExport Action(LPRDATA rdPtr, long param1, long param2)
{
// тут нужно подключить (выполнить, включить) файл cpp, ну то есть, то что в нём написано
//выполнилось в этом условии
}
Не надо так делать. И думать о таких вариантах не надо. Если у тебя логика зависит от каких-то условий - для этого есть и if, и switch, и реализуемый через классы полиморфизм.

Подключение в зависимости от условий делается через директиву #if
http://www.c-cpp.ru/books/if-else-elif-i-endif
Но это работает только во время компиляции.
Николай Андрейчиков
Николай Андрейчиков
90 609
Лучший ответ
Серик Кажгалиев По ходу, он не про то. Там про включение кода из внешней библиотеки, которая h файлом описана
Так не делается в С++. Вы сможете включить только объявления функций и переменных с дефайнами, но сам функции вы включить не сможете по условию
В интернете не нашёл, очень долго искал! Вообщем мне надо выполнить (включить) Давайте разбирать....

short WINAPI DLLExport Action(LPRDATA rdPtr, long param1, long param2)
- тут выговорите компилятору, что эта функция будет в dll файле и ее смогут использовать другие.
{
// тут нужно подключить (выполнить, включить) файл cpp, ну то есть, то что в нём написано
тут никак. Включайте свой код cpp в свой проект и компилируйте и вызывайте функции из него. А перед этим в инклудах надо указать h или hpp файл

//выполнилось в этом условии
}
Артём Микула
Артём Микула
30 477
В вашем файле пропишите
#define KEYWORD
В главном проекте сделайте так
#include< your_file.h >

Проверяется так

#ifdef KEYWORD
/*code*/
#else
/*code*/
BL
Bogdan Lis
7 902
За такое отрывают голову.
Роман Андреев
Роман Андреев
4 588
Для начала, где условие?
Далее, включение файла -- это #include.
Если тебе нужно выполнить конкретную функцию, то объявляешь её перед приведённой у тебя (copy-paste всё до начала блока кода из файла, в котором функция находится) и вызываешь как любую другую.
Артём Микула На С++ давно программировал?