AI与数学融合的技术路径与应用实践
2026/10/30 5:42:08
// export_dll.h#pragmaonce#ifdefMY_DLL_EXPORT#defineMY_DLL_DECL__declspec(dllexport)#else#defineMY_DLL_DECL__declspec(dllimport)#endif//// Calculator.h#pragmaonce#include"export_dll.h"#ifdef__cplusplusextern"C"{#endif// 打印函数名MY_DLL_DECLvoidprint_self();// 两个数字取较小数MY_DLL_DECLintget_min(inta,intb);// 两个数字取较大数MY_DLL_DECLintget_max(inta,intb);#ifdef__cplusplus}#endifclassMY_DLL_DECLCalculator{public:Calculator()=default;~Calculator()=default;// 加法intadd(inta,intb);// 减法intsubtract(inta,intb);};// Calculator.cpp#include"Calculator.h"#include<iostream>// 打印函数名voidprint_self(){std::cout<<__FUNCTION__<<std::endl;}// 两个数字取较小数intget_min(inta,intb){std::cout<<__FUNCTION__<<", a :"<<a<<", b :"<<b<<", min = "<<(a<=b?a:b)<<std::endl;returna<=b?a:b;}// 两个数字取较大数intget_max(inta,intb){std::cout<<__FUNCTION__<<", a :"<<a<<", b :"<<b<<", max = "<<(a>=b?a:b)<<std::endl;returna>=b?a:b;}// 加法intCalculator::add(inta,intb){std::cout<<__FUNCTION__<<", a :"<<a<<", b :"<<b<<", a + b = "<<(a+b)<<std::endl;returna+b;}// 减法intCalculator::subtract(inta,intb){std::cout<<__FUNCTION__<<", a :"<<a<<", b :"<<b<<", a - b = "<<(a-b)<<std::endl;returna-b;}// main.cpp#include<iostream>#include<string>#include"Calculator/Calculator.h"intmain(intargc,char**argv){std::cout<<__FUNCTION__<<", dll use test"<<std::endl;inta=100;intb=200;intvalue=0;// C语言格式的接口print_self();value=get_min(a,b);std::cout<<"get min, value :"<<value<<std::endl;value=get_max(a,b);std::cout<<"get min, value :"<<value<<std::endl;// C++ 类的接口Calculator calculator;value=calculator.add(a,b);std::cout<<"calculator add, value :"<<value<<std::endl;value=calculator.subtract(a,b);std::cout<<"calculator subtract, value :"<<value<<std::endl;return0;}