静态库文件:
Func.h:
#ifndef _Func_H
#define _Func_H
#endif
#include "stdafx.h"
#include<iostream>
using namespace std;
typedef int(*pFunc)(int parameter1, int parameter2);
void MyCallBack(string content,pFunc function);
int Add(int parameter1, int parameterb);
Func.c:
#include "stdafx.h"
#include "Func.h"
int Add(int a, int b)
{
int sum = a + b;
return sum;
}
void MyCallBack(string content, pFunc function)
{
int re = (int)function;
printf("content=%d", re);
}
控制台调用程序:
// Test.cpp : 定义控制台应用程序的入口点。
//
#include ".\\Func.h"
#include "stdafx.h"
#include <iostream>
#ifndef _Func_H
#include ".\\Func.h"
#endif
int fs(int a, int b)
{
return a - b;
}
//
//#import "..\debug\MyCom.dll" no_namespace
#pragma comment(lib,"./MyLib.lib")
int _tmain(int argc, _TCHAR* argv[])
{
int sum = Add(2, 4);
printf("sum=%d", sum);
MyCallBack("this is my callback", (pFunc)fs(7,2));
//CoInitialize(NULL);
//CLSID clsid;
//CLSIDFromProgID(OLESTR("myCom.GetRes"), &clsid);
//CComPtr<IGetRes> pGetRes;//智能指针
//pGetRes.CoCreateInstance(clsid);
//pGetRes->Hello();
//pGetRes.Release();//
//CoUninitialize();
return 0;
}