1. 程式人生 > >C++ 動態連結庫和靜態連結庫

C++ 動態連結庫和靜態連結庫

typedef int (*DllFunc)(int, int);

int _tmain(int argc, _TCHAR* argv[])
{
	DllFunc dllFunc;
	HINSTANCE hInstLib = LoadLibrary(L"DllTest.dll");
	if (hInstLib == NULL)
	{
		FreeLibrary(hInstLib);
	}

	dllFunc = (DllFunc)GetProcAddress(hInstLib, "Add");
	if (NULL == dllFunc)
	{
		FreeLibrary(hInstLib);
	}

	printf("a + b = %d\n", dllFunc(5,2));

	dllFunc = (DllFunc)GetProcAddress(hInstLib, "Min");
	if(NULL == dllFunc)
	{
		FreeLibrary(hInstLib);
	}

	printf("a > b = %d\n", dllFunc(4,55));

	FreeLibrary(hInstLib);

	getchar();
	return 0;
}