求 简单 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;
}