2012-11-21 85 views
1

由於該程序用於PIC單片機,因此在使用PICmicro C編譯器進行編譯後,只有一個十六進制文件,我無法在計算機上運行並且無法將任何內容打印到屏幕上。那麼我怎樣才能找出sizeof(int)(和其他類型)的值?如何查找PICmicro C編譯器的數據類型大小?

+1

你能提供更多的細節嗎?什麼是「c數據類型大小」?你想要int,一個指針,還有其他類型的大小嗎?另外,什麼是一個mcu十六進制文件?你的意思是對象/可執行代碼或由單獨的可執行代碼讀取的數據文件嗎? – simonc

+0

微控制器的hex文件用於對PIC系列等微控制器進行編程。數據類型大小指int,short,long數據類型。主要問題是由於程序在PIC單片機上運行,​​因此沒有屏幕可以打印。 – staca

回答

4

您可以閱讀編譯器的文檔以瞭解它如何定義各種類型,應該指定它。

或者你可以看到如何讓編譯器生成彙編代碼並讀取它。然後,您可以根據用於處理各種值的說明來弄清楚底層類型是什麼。

或者,正如反正做嵌入式開發時是很常見的,你可以

#include <stdint.h> 

和使用顯式類型(uint8_tuint32_t等)。這些都是可選的,但我希望微控制器的編譯器能夠支持它們。

+0

感謝您的幫助!我找到了編譯器文檔,並確定short,int和long的大小爲2,2,4個字節。 – staca