你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

_EXTERN_ int XX 和 extern int XX 一样嘛?

[复制链接]
swallow1029 提问时间:2012-4-10 10:36 /
我在 一些程序中,经常遇到这样的定义,1:int  XX  在FF.C 文件里面这样定义一个变量,
                                                                          在FF.H 头文件里面这样引用。_EXTERN_ int XX
                                                                         2:int  XX  在FF.C 文件里面这样定义一个变量,
                                                                          在FF.H 头文件里面这样引用。extern int XX
                                        在 1 中 为什么 要 在 extern 的下面加上 下划线?有什么作用?
                                        在  2 中 的extern 和 1 中的 EXTERN 是一样的吗?
收藏 评论8 发布时间:2012-4-10 10:36

举报

8个回答
swallow1029 回答时间:2012-4-10 11:32:49

RE:_EXTERN_ int XX 和 extern int XX 一样嘛?


真的伤不起呀!
废鱼 回答时间:2012-4-10 17:12:46

RE:_EXTERN_ int XX 和 extern int XX 一样嘛?

EXTERN 是外部声明,这个是用于全局变量。
swallow1029 回答时间:2012-4-10 18:18:17

回复:_EXTERN_ int XX 和 extern int XX 一样嘛?

回复第 3 楼 于2012-04-10 17:12:46发表:
EXTERN 是外部声明,这个是用于全局变量。 

哥哥 你好像没有明白我的意思,我知道是外部声明的,我是说他们又什么区别吗?
悠然见南山 回答时间:2012-4-10 19:47:22

RE:_EXTERN_ int XX 和 extern int XX 一样嘛?

有打错么?
_EXTERN_ 这个在STM32F4的FW里,Utilities目录下的那个ff。h里没找到啊
废鱼 回答时间:2012-4-11 09:07:31

RE:_EXTERN_ int XX 和 extern int XX 一样嘛?

你可以查看一下_EXTERN_ int定义,我他可能是typedef或者define了一个:extent int,这样是方便了在使用过程中避免忘记加int的情况。
swallow1029 回答时间:2012-4-11 09:16:15

回复:_EXTERN_ int XX 和 extern int XX 一样嘛?

回复第 6 楼 于2012-04-11 09:07:31发表:
你可以查看一下_EXTERN_ int定义,我他可能是typedef或者define了一个:extent int,这样是方便了在使用过程中避免忘记加int的情况。 

呵呵  你好,我不得不再一次说一下。_EXTERN_ Bool NtrxCalibration ; 这个 就是在程序的 定义 了。我现在想问的问题是
           EXTERN 的两边为什么要加上  下划线?如果不加的话 行吗?它和 extern  Bool NtrxCalibration  是一样的吗?
废鱼 回答时间:2012-4-11 10:28:14

RE:_EXTERN_ int XX 和 extern int XX 一样嘛?

不一样。extern  Bool 这个是声明bool,这个用到2个定义。_EXTERN_Bool 这是一个伪定义,虽然他们的结果是一样的,但是用法是不一样的。比如:typedef _EXTERN_Bool (extern  Bool),你不能定义为typedef _extern  Bool (extern  Bool)。我建议你好好学习一下C语言基础知识。我解释半天,你也不明白。可能我说的不如书上说的明白,你可以看看书。
swallow1029 回答时间:2012-4-11 12:19:34

回复:_EXTERN_ int XX 和 extern int XX 一样嘛?

回复第 8 楼 于2012-04-11 10:28:14发表:
不一样。extern  Bool 这个是声明bool,这个用到2个定义。_EXTERN_Bool 这是一个伪定义,虽然他们的结果是一样的,但是用法是不一样的。比如:typedef _EXTERN_Bool (extern  Bool),你不能定义为typedef _extern  Bool (extern  Bool)。我建议你好好学习一下C语言基础知识。我解释半天,你也不明白。可能我说的不如书上说的明白,你可以看看书。 

呵呵  说的让我感觉有点惭愧, _EXTERN_  的两边为什么要加 下划线?如果不加的话 会怎么样呢?但是 我在写程序的时候,加 下划线 有错误,不能编译过去,要是用 extern 就没有问题

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版