gettimeofday() を使用する単純な C プログラムは、フラグなし (gcc-4.5.1) でコンパイルすると正常に動作しますが、フラグ -mno-sse でコンパイルすると出力が得られません。
#include <stdio.h>
#include <stdlib.h>
int main()
{
struct timeval s,e;
float time;
int i;
gettimeofday(&s, NULL);
for( i=0; i< 10000; i++);
gettimeofday(&e, NULL);
time = e.tv_sec - s.tv_sec + e.tv_usec - s.tv_usec;
printf("%f\n", time);
return 0;
}
私は CFLAGS=-march=native -mtune=native を持っています 誰かがなぜこれが起こるのか説明できますか? 通常、プログラムは正しい値を返しますが、-mno-sse を有効にしてコンパイルすると、「0」が出力されます。