|
@@ -15,68 +15,93 @@ typedef bool(*QCHEN)(int a, int b,int *e); |
|
|
int main() |
|
|
int main() |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
int a, b; |
|
|
|
|
|
|
|
|
|
|
|
int c = 0; |
|
|
int c = 0; |
|
|
int d = 0; |
|
|
int d = 0; |
|
|
int e = 0; |
|
|
int e = 0; |
|
|
|
|
|
__int64 a, b; |
|
|
|
|
|
/*scanf("%I64d", &a); |
|
|
|
|
|
scanf("%I64d", &b);*/ |
|
|
|
|
|
|
|
|
/*char f = 0; |
|
|
/*char f = 0; |
|
|
char *d = &f;*/ |
|
|
char *d = &f;*/ |
|
|
printf("请输入两个整数\n"); |
|
|
printf("请输入两个整数\n"); |
|
|
scanf("%d%d", &a, &b); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool ret1 = Add(a, b,&c); |
|
|
|
|
|
if ( ret1 == 0) |
|
|
|
|
|
|
|
|
scanf("%I64d", &a); |
|
|
|
|
|
scanf("%I64d", &b); |
|
|
|
|
|
if (a > 2147483647) |
|
|
{ |
|
|
{ |
|
|
printf("两个整数相加结果溢出!\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("输入错误!请重新输入!\n"); |
|
|
|
|
|
return 0; |
|
|
} |
|
|
} |
|
|
else |
|
|
|
|
|
|
|
|
else if (b > 2147483647) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
printf("两个整数的相加结果是;%d\n", c); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("输入错误!请重新输入!\n"); |
|
|
|
|
|
return 0; |
|
|
} |
|
|
} |
|
|
//printf("两个整数的相减结果是;%d\n,%d", Sub(a, b, d)); |
|
|
|
|
|
bool ret2 = Sub(a, b, &d); |
|
|
|
|
|
if (ret2 == 0) |
|
|
|
|
|
|
|
|
else if (a < -2147483647) |
|
|
{ |
|
|
{ |
|
|
printf("两个整数相减结果溢出!\n "); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("输入错误!请重新输入!\n"); |
|
|
|
|
|
return 0; |
|
|
} |
|
|
} |
|
|
else |
|
|
|
|
|
|
|
|
else if (b < -2147483647) |
|
|
{ |
|
|
{ |
|
|
printf("两个整数的相减结果是;%d\n", d); |
|
|
|
|
|
|
|
|
printf("输入错误!请重新输入!\n"); |
|
|
|
|
|
return 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
HMODULE hDLL =LoadLibrary ("../Debug/chen.dll"); |
|
|
|
|
|
if (hDLL == NULL) |
|
|
|
|
|
|
|
|
else |
|
|
{ |
|
|
{ |
|
|
printf("加载DLL文件失败\n"); |
|
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
bool ret1 = Add(a, b, &c); |
|
|
|
|
|
if (ret1 == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数相加结果溢出!\n"); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
// PMUL pMul = (PMUL)GetProcAddress(hDLL, "mul"); |
|
|
|
|
|
QCHEN qChen = (QCHEN)GetProcAddress(hDLL, "chen"); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
bool ret3 = chen(a, b, &e); |
|
|
|
|
|
|
|
|
|
|
|
if (ret3 == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数相乘结果溢出!\n "); |
|
|
|
|
|
|
|
|
printf("两个整数的相加结果是;%d\n", c); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
//printf("两个整数的相减结果是;%d\n,%d", Sub(a, b, d)); |
|
|
|
|
|
bool ret2 = Sub(a, b, &d); |
|
|
|
|
|
if (ret2 == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数相减结果溢出!\n "); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数的相乘结果是;%d\n", e); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("两个整数的相除结果是;%d\n", chu(a,b)); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数的相减结果是;%d\n", d); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
system("pause"); |
|
|
|
|
|
FreeLibrary(hDLL); |
|
|
|
|
|
|
|
|
HMODULE hDLL = LoadLibrary("../Debug/chen.dll"); |
|
|
|
|
|
if (hDLL == NULL) |
|
|
|
|
|
{ |
|
|
|
|
|
printf("加载DLL文件失败\n"); |
|
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
// PMUL pMul = (PMUL)GetProcAddress(hDLL, "mul"); |
|
|
|
|
|
QCHEN qChen = (QCHEN)GetProcAddress(hDLL, "chen"); |
|
|
|
|
|
|
|
|
|
|
|
bool ret3 = chen(a, b, &e); |
|
|
|
|
|
|
|
|
|
|
|
if (ret3 == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数相乘结果溢出!\n "); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
printf("两个整数的相乘结果是;%d\n", e); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("两个整数的相除结果是;%d\n", chu(a, b)); |
|
|
|
|
|
|
|
|
|
|
|
system("pause"); |
|
|
|
|
|
FreeLibrary(hDLL); |
|
|
|
|
|
} |
|
|
} |
|
|
} |