编译器: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/