وفي 16/شوال/1431 07:47 ص، أعرب NULL عن رأيه بالموقف كالآتي:
السلام عليكمفي 16/شوال/1431 12:59 م، قال وسام البهنسي بهدوء وتؤدة:
هذه الطريقة أعقد مما يلزم. فالمكتبات الديناميكية المكتوبة بـ ++C يمكن استخدامها في برامج ++C الأخرى بطريقة أرقى ولا تحتاج إلى تحميل المكتبة يدوياً. لكن بالمقابل الطريقة التي طرحتها أنت هي العامة والتي تنفع مع المكتبات المبنية بغير ++C، كما أنها تسمح بالتحميل المؤجل..obj : error LNK2001: unresolved external symbol "int __cdecl sum(int,int)" (?sum@@YAHHH@Z)
Debug/11.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
في 16/شوال/1431 07:38 م، غمغم المهند باستغراب قائلاً:
ثم وضعها في نفس فايل الملف التنفذي مع العلم انيي قمت بتحديد مكانها في الخيارات في المكان المحدد مع ذلك يوج 2errorوفي 16/شوال/1431 02:38 م، أعرب المهند عن رأيه بالموقف كالآتي:
اما عن خطوات انشاء الملف هي مثل الملف الاستاتيكي تقريبا#ifndef _SUM_H_
#define _SUM_H_
extern "C" __declspec(dllexport) int Sum(int ,int);
#endif
#include "sum.h"
extern "C" __declspec(dllexport) int Sum(int x,int y)
{
return x + y;
}
#include
#include "sum.h"
using std::cout;
void main()
{
cout << Sum(1,1);
getch();
}
#include
#include
#include
#include
using std::cout;
using std::endl;
typedef int (*SumFunc)(int,int);
void main()
{
SumFunc _SumFunc;
HINSTANCE hLib = LoadLibraryA("dlibrary.dll");
if(hLib == NULL)
{
cout << "Unable to load library!" << endl;
getch();
return;
}
_SumFunc =(SumFunc)GetProcAddress((HMODULE)hLib, "Sum");
if(_SumFunc == NULL)
{
FreeLibrary((HMODULE)hLib);
return;
}
cout << _SumFunc(1,1);
FreeLibrary((HMODULE)hLib);
getch();
}