当前位置: 代码迷 >> VC >> 简单 C++ 调用 C++ dll 例子,该如何解决
  详细解决方案

简单 C++ 调用 C++ dll 例子,该如何解决

热度:4589   发布时间:2013-02-25 00:00:00.0
简单 C++ 调用 C++ dll 例子
求   简单   C++   调用   C++   dll     例子       最基础的好了     请写下具体步骤   谢谢
本人只有   37   分   不好意思啊

------解决方案--------------------------------------------------------
#include "stdafx.h "
#include <iostream>
#import "Com.dll " no_namespace
#import "Com.tlb " no_namespace
using namespace std;


int Div(IAutoPtr);
int Sub(IAutoPtr);
void list();

int main(int argc, char* argv[])
{
HRESULT hResult;
hResult = CoInitialize(NULL);//初始化COM库
if (FAILED(hResult))
{
printf( "Initialize COM library failed!\n ");
return -1;
}
IAutoPtr p;//定义智能指针
char n;

p.CreateInstance(L "Com.Auto ");//查找组件

ag1:
list();
cin> > n;
getchar();
switch(n)//选择语句
{
case '1 ':Div(p);break;
case '2 ':Sub(p);break;
case '3 ':return 0;
default:cout < < "错误指令,请重新选择 " < <endl;break;
}
goto ag1;

printf( "Hello World!\n ");
return 0;
}

void list()
{
cout < < "********************* " < <endl;
cout < < " 1.除法 " < <endl;
cout < < " 2.减法 " < <endl;
cout < < " 3.退出 " < <endl;
cout < < "********************* " < <endl;
cout < < "请选择: ";
}


int Div(IAutoPtr p)//除法
{
VARIANT n1,n2,n;
n.vt=n1.vt=n2.vt=VT_R8;
ag2:
cout < < "请输入两个数: ";
cin> > n1.dblVal> > n2.dblVal;
if(n2.dblVal==0)
{
cout < < "除数不得为0! " < <endl;
goto ag2;
}
n=p-> Div(n1,n2);//调用除法方法
cout < <n1.dblVal < < " / " < <n2.dblVal < < " = " < <n.dblVal < <endl;

return 0;
}
int Sub(IAutoPtr p)//减法
{
VARIANT n1,n2,n;
n.vt=n1.vt=n2.vt=VT_R8;
cout < < "请输入两个数: ";
cin> > n1.dblVal> > n2.dblVal;
n=p-> Sub(n1,n2);//调用减法方法
cout < <n1.dblVal < < " - " < <n2.dblVal < < " = " < <n.dblVal < <endl;

return 0;
}
  相关解决方案