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; }