首先reinterpret_cast是用来处理无关类型之间的转换,是c++的标准转换运算符。
这次是在操作系统实验里读到文件的信息后转成长整型LONG时出了精度损失的错误。
static DWORD WINAPI ThreadProc(LPVOID lpParam)
{
std ::cout << "thread : " << ::GetCurrentThreadId() << "开始工作" << std ::endl;
// 将参数翻译为长整数
LONG nAdd = reinterpret_cast<LONG>(lpParam);
//后省略
网上大致都是在linux系统里void转int时出现精度损失,然后用了LONG来替代,这里我也用了同样的思路,将LONG改成LONGLONG,最后解决。