c - 数组初始化时出现错误 LNK2001 : unresolved external symbol _memset

标签 c visual-c++

编译器:VC2013

我有一个数组如下:

typedef char CHAR8;
CHAR8 buffer[HEX_DUMP_BUFFER_LENGTH];

使用下面的代码,我得到一个错误LNK2001:无法解析的外部符号_memset

for (i = 0; i < HEX_DUMP_BUFFER_LENGTH; i++){
    buffer[i] = 'a';
}

但是通过手动分配给数组元素,就不会出现链接错误。

buffer[0] = 'a';

为什么?

最佳答案

出于某些性能原因,编译器将优化您的代码。 您可以反汇编二进制文件以查明编译器是否已完成此操作。 您可以调整编译标志、优化级别或链接_memset符号的lib。

关于c - 数组初始化时出现错误 LNK2001 : unresolved external symbol _memset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44427227/

相关文章:

c++ - 获取 COM 设备的描述

.net - 在 VC++ 中编程以在 Windows 之外运行

C内存重叠?

c - 仅在没有 valgrind 的情况下出现段错误

c++ - rmmod 当 char dev 打开时

c++ - 将 STL 分配器与 STL vector 一起使用

c++ - 让 LibCurl 与 Visual Studio 2013 一起工作

arrays - c 函数是否可以同时接受 double 和 long double 参数?

c - 如何在链表末尾添加节点?

c++ - 长度为零的数组