『壹』 u_int 和uint 的疑问
历史造成。在标准头文件发明以前就有了用户自定义类型。
u_ 用户自定义, user
u -- 无符号 unsigned
实质版一样,权两个分别在2个头文件里。
某编译器 stdint.h 里有
typedef u_int8_t uint8_t; /* u_int8_t is defined in <machine/types.h> */
typedef u_int16_t uint16_t; /* u_int16_t is defined in <machine/types.h> */
typedef u_int32_t uint32_t; /* u_int32_t is defined in <machine/types.h> */
typedef u_int64_t uint64_t; /* u_int64_t is defined in <machine/types.h> */
『贰』 在程序中想定义一个64位的整形变量,但是设备中有32位的有64位的
int bits=sizeof(long);
#if bits == 32
#define Int64 long;
#else
#define Int64 long long;
#endif
在你的头文件上添加这个,以后不管用什么平台,都用Int64这个宏去定义64位的整形变量就可以了……其他类型的数据也可以用类似的方法去定义……
『叁』 STM32 uint32_t 在哪个头文件里
该是typedef unsigned int uint32_t;
(uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision
这句的意抄思是把结构体指针指向的TIM_ClockDivision强制转化成32位无符号整形数据
括号在这里就是强制转换