c++callback回调实例

来源:互联网 发布:amazing frog 知乎 编辑:程序博客网 时间:2024/06/06 00:01

静态库文件:

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;
}





原创粉丝点击