c言語のvolatileとregisterキーワード
1682 ワード
//register.cpp
#include
#include
#include
int main1()
{
for(register int i=0;i<10;i++)
{
// register CPU , , "&" 。
printf("%d
",&i);
}
printf("
");
return 0;
}
int main2()
{
register int i=0;
//int* a=&i; //c 。
printf("%x",&i);//C++ 。 。
getchar();
return 0;
}
// , 。
// , char、int 。 , "register"。
int main()
{
time_t start,end;
time(&start);
// , cpu
//VC . gcc 。
register double res=0.0;
register int i=0;
// double res=0.0;
//int i=0;
for(i=0;i<300000000;i++)
{
res+=i;
}
printf("res=%f
",res);
time(&end);
//printf("take time=%fs
",(unsigned int)(end-start));
printf("take time=%fs
",difftime(end,start));
return 0;
}
//volatile.c
#include
//volatile : , , .
//volatile , ( )。
//volatile ,
int main2(int argc, char *argv[])
{
//release ,
for(int i=0;i<999999999;i++)
{
}
printf("Hello World!
");
return 0;
}
int main(int argc, char *argv[])
{
//volatile ,
for(volatile int i=0;i<999999999;i++)
{
}
printf("Hello World!
");
return 0;
}