Вызывается исключение при использовании библиотеки c++
у меня вызывается эта проблема Вызвано исключение по адресу 0x0000000000000000 в Prakt6.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x0000000000000000.
Вот сам код
int main() {
std::setlocale(LC_ALL, "RU");
HINSTANCE hLib = LoadLibrary(L"mylib.dll");
if (hLib == NULL) {
std::cout << "Ошибка загрузки библиотеки." << std::endl;
return 1;
}
typedef int (*sum) (int, int);
sum Sum;
Sum = (sum)GetProcAddress(hLib, "Sum");
std::cout << Sum(2, 5);
FreeLibrary(hLib);
}
Сама ошибка где-то тут
Sum = (sum)GetProcAddress(hLib, "Sum");
std::cout << Sum(2, 5);
FreeLibrary(hLib);
Возможно проблема с библиотекой, поэтому я скину код, который изменял
pch.cpp
#include "pch.h"
extern "C" __declspec(dllexport) int sum(int a, int b) {
return a + b;
}
framework.h
#pragma once
extern "C" __declspec(dllexport) int sum(int a, int b);
#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
// Файлы заголовков Windows
#include <windows.h>
Источник: Stack Overflow на русском