다음 코드를 LLVM 컴파일러와 함께 컴파일하면 올바르게 작동하지 않습니다. (i는 증가하지 않습니다.) GCC 4.2로 컴파일 할 때 올바르게 작동합니다. 이것은 LLVM 컴파일러의 버그입니까?LLVM 컴파일러 2.0 버그?
#include <stdio.h>
#include <string.h>
void BytesFromHexString(unsigned char *data, const char *string) {
printf("bytes:%s:", string);
int len = (int)strlen(string);
for (int i=0; i<len; i+=2) {
unsigned char x;
sscanf((char *)(string + i), "%02x", &x);
printf("%02x", x);
data[i] = x;
}
printf("\n");
}
int main (int argc, const char * argv[])
{
// insert code here...
unsigned char data[64];
BytesFromHexString(data, "4d4f5cb093fc2d3d6b4120658c2d08b51b3846a39b51b663e7284478570bcef9");
return 0;
}
[clang] (http://clang.llvm.org/) 프론트 엔드 또는 GCC를 사용하고 있습니까? –