由于为c ++程序调用ulldiv.asm而导致编译器引用错误

时间:2014-08-18 22:35:53

标签: c++ c assembly

这是一个奇怪的错误。当我运行我的代码时,我必须通过

更新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逐步执行我的代码。

1 个答案:

答案 0 :(得分:2)

虽然Visual C ++库的大多数源文件都包含在Visual Studio安装中,但是不包含某些文件。值得注意的是,数学库的来源不包括在内。

调试器无法自动找到ulldiv.asm的事实是一个错误;这已在Visual Studio" 14" (我认为修复程序存在于CTP1中;我确信此修复程序存在于今天发布的CTP3中。)