这是一个奇怪的错误。当我运行我的代码时,我必须通过
更新 ulldiv.asm 的位置implementation of unsigned long long division
有问题的行与链接中使用的行完全匹配:http://objectmix.com/c/68732-dynamic-memory-allocation-c.html
tim = (__time64_t)((nt_time.ft_scalar - EPOCH_BIAS) / 10000000i64);
无论如何,第一个链接给了我正确的答案,我将 ulldiv.asm 重新定位到 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\intel\ulldiv.asm。
现在当我运行我的代码时,这一行给我带来了麻烦
double NOISE_SIGMA = NOISE_DENSITY*sqrt(SYS_CLK_FREQ);
sqrt
函数变为未定义(?)。调试器停止并询问 sqrt.asm 的位置。
You need to find sqrt.asm to view the source for the current call stack frame
这是我在德国网站上发现的类似错误:http://www.c-plusplus.de/forum/324725-full
但似乎并没有在那里得到解决。
我不明白这是怎么回事。如果您需要有关代码的更多信息,请告诉我。先感谢您。
如果有任何不同,我会使用 F11
单步执行我的代码。
最佳答案
虽然 Visual C++ 库的大部分源文件都包含在 Visual Studio 安装中,但有些文件并未包含在内。值得注意的是,不包括数学库的源代码。
调试器无法自动找到 ulldiv.asm 是一个错误;这已在 Visual Studio“14”中得到修复(我认为该修复存在于 CTP1 中;我确信该修复存在于今天发布的 CTP3 中)。
关于c++ - 由于为 C++ 程序调用 ulldiv.asm 而导致编译器引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373103/