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