При использовании динамического связывания (dll) как мне обрабатывать значения #define внутри dll?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 При использовании динамического связывания (dll) как мне обрабатывать значения #define внутри dll?

Сообщение Anonymous »

Я учусь работать с DLL в Windows с помощью C++, в частности с функциями LoadLibrary и GetProcAddress. Для практики я выбрал libcurl в качестве примера для экспериментов с динамическим связыванием. Мне удалось использовать libcurl в качестве DLL, но мне пришлось определить несколько констант в моем собственном файле .cpp, например:

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

#define CURLOPT_URL                 10002
#define CURLOPT_POST                47
#define CURLOPT_POSTFIELDS          10015
#define CURLOPT_WRITEFUNCTION       20011
#define CURLOPT_WRITEDATA           10001
#define CURLE_OK                    0
В моем коде они используются следующим образом:

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

    curlFunctions->easy_setopt(curl, CURLOPT_URL, request.url.c_str());
curlFunctions->easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
curlFunctions->easy_setopt(curl, CURLOPT_WRITEDATA, response);
Мой вопрос:
Поскольку я динамически привязываюсь к libcurl.dll, а не статически привязываюсь к libcurl.lib, я все еще нужно включить Curl.h в мой проект? Или я могу просто использовать LoadLibrary и GetProcAddress для загрузки и вызова функций из DLL без необходимости включения заголовка?
Прошу прощения, если это простой вопрос — я все еще изучаю WinAPI и C++, и я пытаюсь глубже понять эти концепции. Буду признателен за любые советы и идеи!

Подробнее здесь: https://stackoverflow.com/questions/793 ... -define-in
Ответить

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

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

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

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

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