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

标签 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 单步执行我的代码。

最佳答案

虽然 Visual C++ 库的大部分源文件都包含在 Visual Studio 安装中,但有些文件并未包含在内。值得注意的是,不包括数学库的源代码。

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

关于c++ - 由于为 C++ 程序调用 ulldiv.asm 而导致编译器引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373103/

相关文章:

c - Windows是否回收堆栈空间?

c++ - 使 GCC 的 ASM 标签可用于标记化

linux - 如何在 Linux 程序集中读取和显示一个值?

c++ - CScrollbar 适用于一台电脑,但不适用于任何其他电脑

c++ - 使用多态赋值

c++ - 类继承和类原型(prototype)设计的问题

c - 如何编译这个汇编代码?

c++ - 如何将 CS_DROPSHADOW 应用于 CDialog 的子类

c++ - 无法使用 fopen() 在 Windows 7 的 C 盘中创建文件

使用 `pthread_create` 创建用户级线程或内核级线程?