gcc 加參數看程式的performance 分析
compiler 時加參數 -pg
gcc -pg test.c
./a.out
然後, 執行程式後會產生出gmon.out
gprof a.out > test
去看 test 檔, 可以看到很多有用的 performance analysis 的資訊
subroutine 執行幾次, 被那些呼叫, 佔執行時間多少, 等等..
References:
使用Gnu gprof進行Linux平臺下的程序分析
http://dipeng.blog.hexun.com.tw/12501019_d.html
使用Gnu gprof進行Linux平台下的程序分析
http://southmaster.com/article/pub.php?page=red2.php&id=3255
2011年6月9日 星期四
資料型態 DataType
程 式在執行的過程中,需要運算許多的資訊,也需要儲存許多的資訊,資訊是儲存在記憶體空間中,由於資料的型態各不相同,在儲存時所需要的容量不一,不同的 資料必須要配給不同的空間大小來儲存,因而有了「資料型態」(Data type)的規範。
C++中基本的資料型態主要區分為「整數」(Integer)、「浮點數」(Float)、「字元」(Character),而這幾種還可以細分,如下所 示:
整數
用 來表示整數值,可以區分為short、int、與long,可容納的大小各不相同,short的長度為半個word,int表示一個word,而long 可能是一個或兩個word,在32位元機器上int與long的長度通常是相同的,型態的長度越長,表示可表示的整數值範圍越大。
浮點數
用 來表示小數值,可以區分為float、double與long double,float的長度為一個word,double的長度為二個word,long double長度為3或4個word。
字元
用 來儲存字元,長度為1個位元組,其字元編碼主要依ASCII表而來,由於字元在記憶體中所佔有的空間較小,所以它也可以用來儲存較小範圍的整數。
以上的資料型態在記憶體中所佔有的大小依平台系統而有所差異,word的大小取決於機器,在32位元機器上通常一個word是4個位元組,如果想要知道這 些資 料型態在您所使用的平台上,所佔有的記憶體空間有多少,最好的作法是使用sizeof()運算子,它可以告訴您確實的記憶體大小,下面這個程式是個簡單的示範(64 bit):
Data type (bytes)
int 4
long 8
float 4
double 8
char 1
參考資料
http://en.wikipedia.org/wiki/C_data_types
http://en.wikipedia.org/wiki/Integer_(computer_science)
http://caterpillar.onlyfun.net/Gossip/CppGossip/DataType.html
C code 與 assembly output 交叉出現
C++中基本的資料型態主要區分為「整數」(Integer)、「浮點數」(Float)、「字元」(Character),而這幾種還可以細分,如下所 示:
整數
用 來表示整數值,可以區分為short、int、與long,可容納的大小各不相同,short的長度為半個word,int表示一個word,而long 可能是一個或兩個word,在32位元機器上int與long的長度通常是相同的,型態的長度越長,表示可表示的整數值範圍越大。
浮點數
用 來表示小數值,可以區分為float、double與long double,float的長度為一個word,double的長度為二個word,long double長度為3或4個word。
字元
用 來儲存字元,長度為1個位元組,其字元編碼主要依ASCII表而來,由於字元在記憶體中所佔有的空間較小,所以它也可以用來儲存較小範圍的整數。
以上的資料型態在記憶體中所佔有的大小依平台系統而有所差異,word的大小取決於機器,在32位元機器上通常一個word是4個位元組,如果想要知道這 些資 料型態在您所使用的平台上,所佔有的記憶體空間有多少,最好的作法是使用sizeof()運算子,它可以告訴您確實的記憶體大小,下面這個程式是個簡單的示範(64 bit):
Data type (bytes)
int 4
long 8
float 4
double 8
char 1
參考資料
http://en.wikipedia.org/wiki/C_data_types
http://en.wikipedia.org/wiki/Integer_(computer_science)
http://caterpillar.onlyfun.net/Gossip/CppGossip/DataType.html
C code 與 assembly output 交叉出現
訂閱:
文章 (Atom)