我可以在哪个文件中找到unsigned long long division(ulonglong除以ulong)的实现? (MS VC ++ 2010)
答案 0 :(得分:0)
#include "stdafx.h"
int main()
{
unsigned long long a=123;
unsigned long long b=10;
a=a/b;
}
现在有两种可能性:
调试器打开一些名为“ulldiv.asm”的汇编程序文件。这意味着您已安装CRT源,现在您已阅读实现。
没有任何反应或弹出消息。这意味着您没有CRT的源代码,或者您正在编译64位,在这种情况下,分区不由库例程处理。
答案 1 :(得分:0)
假设您使用了默认安装目录,它应该在某处:
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ crt \ src \ intel \ ulldiv.asm
如果您使用的是32位版本的Windows,则可能(可能)为C:\program files
而不是c:\program files (x86)
。尽管有这些注释,但这段代码实际上是用于无符号的长除数,而不仅仅是无符号长除法(即,它需要64位操作数,而不是32位)。
我必须检查以确定,但我相信编译器可以/将在启用内在函数时为该除法生成内联代码。当然,64位编译器在任何情况下都会生成内联代码。