GetProcAddress не может получить адрес ф-ии из dll - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Осваиваю написание dll, GetProcAddress не может получить адрес ф-ии из моей dllки? Где может быть засада? В экспоре ф-я вроде должна быть… поскольку… код dll... все пишется на просто - Си.
#include <Windows.h>
#include "dllmain.h"
 
extern _declspec(dllexport) int __stdcall Multiply( int a, int b)
{
  return a * b;
}
 
BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{
  return TRUE;
}
в проге ее используюшей
#include <Windows.h>
#include <stdlib.h>
#include <stdio.h>
 
typedef int (__stdcall *MULTIPLY)(int a, int b);
 
int main(int argc, char* argv[]) 
{
  HMODULE hLib = LoadLibrary("dlltest.dll"); // Загружаем библиотеку
  
  if (hLib)
  {
    MULTIPLY Multiply;
    printf("dll loaded...\n");
 
    Multiply = (MULTIPLY)GetProcAddress(hLib, "Multiply"); // Загружаем функцию
    if (Multiply) 
    {
      int result;
      printf("Multiply function loaded...\n");
      
      result = Multiply(2,2);
      printf("Multiply(2,2) %d\n", result);
    }
   FreeLibrary(hLib);
  }
  getch();
}
либа успешно загружается а ф-я неть(

Решение задачи: «GetProcAddress не может получить адрес ф-ии из dll»

textual
Листинг программы
int __stdcall Multiply( int a, int b)
{
  return a * b;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы