stdint.h是c99 (c語言規范)中引進的一個標准C庫的頭文件. 目前大部分單片機C編譯器均支持,當然IAR和MDK都支持。 linux 系統下的編譯器也支持.
這個文件在不同的C編譯器的存放路徑如下: [可以自己打開stdint.h文件,看一下它定義了哪些類型]
ARM編譯器MDK C:\Keil\ARM\RV31\INC
ARM編譯器EWAMC:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\inc
STM8編譯器EWSTM8 C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation_2\stm8\inc\c
PIC編譯環境MPLAB C:\Program Files\Microchip\MPLAB C32 Suite\pic32mx\include
飛思卡爾單片機環境C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.2\ColdFire_Support\msl\MSL_C\MSL_Common\Include
PC軟件C++ BuilderC:\Program Files\Borland\CBuilder6\Include
stdint.h中定義了一些整數類型,規則如下
int8_t, int16_t, int32_t, int64_t 表示各種長度的有符號整型數
uin8_t, uint16_t, uint32_t, uint64_t表示各種長度的無符號整型數
定義了一些常量表示以上各類型數的最大最小值. (如果你的程序需要檢查整數的值域,那么可以直接用這些宏即可,沒必要自己再定義了)
INT8_MIN, INT8_MAX
INT16_MIN, INT16_MAX
INT32_MIN, INT32_MAX
INT64_MIN, INT64_MAX
這些宏的定義如下(僅僅舉了2個例子,其他的參見 stdint.h
#define INT8_MIN -128
#define INT16_MIN-32768