编译器:VC2013
我有一个数组如下:
typedef char CHAR8;
CHAR8 buffer[HEX_DUMP_BUFFER_LENGTH];
使用以下代码,我得到error LNK2001: unresolved external symbol _memset
for (i = 0; i < HEX_DUMP_BUFFER_LENGTH; i++){
buffer[i] = 'a';
}
但是通过手动分配到数组元素,没有链接错误。
buffer[0] = 'a';
为什么?
答案 0 :(得分:-2)
出于某些性能原因,编译器将优化您的代码。 您可以反汇编二进制文件以查明编译器是否已完成此操作。 您可以调整编译标志,优化级别,或链接lib以获取_memset的符号。