我和我的朋友打赌,只用一行代码就可以完成一项任务:以特定顺序显示当前时间和一个 5 个字符的文本,每秒只显示一次。 目前我正在努力将 void 强制转换为任何类型。目前我被困在这个:
[c](time_t a)-> char*
{
Sleep(strftime(c, 32, "%H:%M:%S ABCDE", localtime(&a)));
}(a=time(0))
看看我如何通过使用 C++11 的匿名函数将 time() 初始化为本地 a 以通过引用 localtime 来使用它,因为它只获取本地范围的值。但是我主要坚持使用:
void Sleep(DWORD milliseconds);
您不能将 void 转换为任何其他类型或 void*,因为它是非返回类型,但是在汇编程序中,在 void 返回后,EAX/RAX 寄存器中始终存在一些垃圾值 - 即使我可以抓住那个“垃圾” '这将完成我的任务。
我可以使用 Unix sleep() 因为它返回 UINT,但我很好奇是否可能(我虽然关于 __asm 块,但它不能在 lambdas 中使用)