搜索
bottom↓
回复: 20

IAR EWARM 高手,请问IAR中__INT16_T_TYPE__、__INT32_T_TYPE__等宏是在哪里定义的?(使

[复制链接]

出0入0汤圆

发表于 2010-1-4 16:37:01 | 显示全部楼层 |阅读模式
Project的Options—>C/C++ Complier—>Language里勾选Require Protypes
编译出错,于是去寻找出错的原因
在查看stm32f10x_pwr.c中报错的几个内联函数时,发现:
EWARM找不到那个uint32_t类型在何处定义的,Source Insight也找不到
只好自己去跟踪,在D:\Program Files\IAR Systems \Embedded Workbench 5.4 Evaluation\arm\inc目录下的inttypes.h、stdint.h这两个头文件中找到一点相关的信息,从中知道:uint32_t类型是否定义跟宏__INT32_T_TYPE__相关,可是这个宏__INT32_T_TYPE__是在何处定义的呢????


(原文件名:ourdev_522633.png)


(原文件名:ourdev_522634.png)

出0入0汤圆

发表于 2010-1-4 17:20:49 | 显示全部楼层
提示错误根本不是uint32_t的问题。

楼主你勾上Require Protypes,需要严格检查函数原型。
任何函数在定义之前,都要有声明,否者就会报错。
(个人认为有点自虐,从来不勾这个)

楼主的程序,__get_PSP(void)没有声明,就直接定义,所以报错。

正确写法,先声明,再定义。

uint32_t __get_PSP(void); //声明

uint32_t __get_PSP(void)  //定义
{
  ……
}

出0入0汤圆

 楼主| 发表于 2010-1-4 17:52:35 | 显示全部楼层
【1楼】 voidx void *
多谢,但是现在不是这个问题,您说的我已经明白
我现在很困惑的是int8_t、uint8_t、int16_t、uint16_t、int32_t、uint32_t等类型是怎么定义的

我在stdint.h文件中有找到如下代码段,但是一直没有找到宏__INT32_T_TYPE__是在何处定义的。还请指点~~
#ifdef __INT32_T_TYPE__
  typedef __INT32_T_TYPE__   int32_t;
  typedef __UINT32_T_TYPE__ uint32_t;
#endif /* __INT32_T_TYPE__ */

出0入0汤圆

 楼主| 发表于 2010-1-4 17:58:18 | 显示全部楼层
在程序中用着这些类型来定义变量,但是却不知其具体是如何来的,很是困惑~~

出0入0汤圆

 楼主| 发表于 2010-1-4 19:49:52 | 显示全部楼层
up

出0入0汤圆

 楼主| 发表于 2010-1-5 10:57:34 | 显示全部楼层
up

出0入0汤圆

 楼主| 发表于 2010-1-5 13:10:35 | 显示全部楼层
up

出0入0汤圆

 楼主| 发表于 2010-1-5 16:08:49 | 显示全部楼层
up

出0入0汤圆

发表于 2010-1-5 16:21:35 | 显示全部楼层
编译器内部定义的。

出0入0汤圆

 楼主| 发表于 2010-1-5 16:29:30 | 显示全部楼层
【8楼】 voidx void *
编译器内部定义应该会在相关文档中加以说明
可是我在EWIAR的手册中没有找到编译器内部宏定义的列表说明

出0入0汤圆

 楼主| 发表于 2010-1-6 16:31:41 | 显示全部楼层
up

出0入0汤圆

 楼主| 发表于 2010-1-6 17:37:10 | 显示全部楼层
UP

出0入0汤圆

 楼主| 发表于 2010-1-7 16:13:31 | 显示全部楼层
up

出0入0汤圆

发表于 2010-6-29 19:11:21 | 显示全部楼层

(原文件名:11.JPG)

出0入0汤圆

发表于 2010-6-29 19:11:53 | 显示全部楼层
http://images.stmicroelectronics.com.cn/stonline/mcu/images/AN2953_CH_V1.pdf
库文件不一样

出0入0汤圆

发表于 2010-9-10 08:49:07 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-9-10 08:58:38 | 显示全部楼层
MDK是在这个文件<stdint.h>中定义的

出0入0汤圆

发表于 2011-7-30 16:02:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-30 23:05:46 | 显示全部楼层
回复【2楼】lofeng
-----------------------------------------------------------------------

回复【2楼】lofeng
【1楼】 voidx void *  
多谢,但是现在不是这个问题,您说的我已经明白
我现在很困惑的是
-----------------------------------------------------------------------

__INT32_T_TYPE__ 等是IAR C编译器的内部类型

出0入0汤圆

发表于 2014-5-13 09:53:00 | 显示全部楼层
楼主找到问题的答案了吗?

出0入0汤圆

发表于 2020-4-14 17:58:40 | 显示全部楼层
楼主有找到答案吗? 我在IAR也有这个困惑,不知道 __INT32_T_TYPE__ 是在哪里定义的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 22:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表