Реализация функции выбора нужного драйвера видеокарты

Мне было необходимо выбрать драйвер видеокарты для рендеринга, в доке нашел решение по этому вопросу

extern "C"
{__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}

После я захотел написать функцию, при помощи которой в начале функции main я могу передать в неё числа 0 или 1, встроенная или дискретная соответственно. Как такую функцию можно реализовать? После решил сделать по-другому: пытался делать это при помощи условной компиляции в .h файле, но понял, что не понимаю, как из *.cpp файла "передать" в *.h файл, например, DISCRETE. Если же просто сделать #define DISCRETE после #pragma once в файле *.h, как потом поменять на INTEGRATED? Каждый раз менять в *.h? Что-то мне подсказывает, что это не так должно работать. Заранее спасибо.

//myHeader.h
#pragma once
#ifdef DISCRETE

extern "C"
{
    __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
#endif

#ifdef INTEGRATED

extern "C"
{
    __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 0;
}
#endif

Ответы (0 шт):