_EXTERN_ int XX 和 extern int XX 一样嘛?
我在 一些程序中,经常遇到这样的定义,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 是一样的吗?
RE:_EXTERN_ int XX 和 extern int XX 一样嘛?
:L真的伤不起呀!
RE:_EXTERN_ int XX 和 extern int XX 一样嘛?
EXTERN 是外部声明,这个是用于全局变量。回复:_EXTERN_ int XX 和 extern int XX 一样嘛?
回复第 3 楼 于2012-04-10 17:12:46发表:EXTERN 是外部声明,这个是用于全局变量。
哥哥 你好像没有明白我的意思,我知道是外部声明的,我是说他们又什么区别吗?
RE:_EXTERN_ int XX 和 extern int XX 一样嘛?
有打错么?_EXTERN_ 这个在STM32F4的FW里,Utilities目录下的那个ff。h里没找到啊
RE:_EXTERN_ int XX 和 extern int XX 一样嘛?
你可以查看一下_EXTERN_ int定义,我他可能是typedef或者define了一个:extent int,这样是方便了在使用过程中避免忘记加int的情况。回复:_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 是一样的吗?
RE:_EXTERN_ int XX 和 extern int XX 一样嘛?
不一样。externBool 这个是声明bool,这个用到2个定义。_EXTERN_Bool 这是一个伪定义,虽然他们的结果是一样的,但是用法是不一样的。比如:typedef _EXTERN_Bool (externBool),你不能定义为typedef _externBool (externBool)。我建议你好好学习一下C语言基础知识。我解释半天,你也不明白。可能我说的不如书上说的明白,你可以看看书。回复:_EXTERN_ int XX 和 extern int XX 一样嘛?
回复第 8 楼 于2012-04-11 10:28:14发表:不一样。externBool 这个是声明bool,这个用到2个定义。_EXTERN_Bool 这是一个伪定义,虽然他们的结果是一样的,但是用法是不一样的。比如:typedef _EXTERN_Bool (externBool),你不能定义为typedef _externBool (externBool)。我建议你好好学习一下C语言基础知识。我解释半天,你也不明白。可能我说的不如书上说的明白,你可以看看书。
呵呵 说的让我感觉有点惭愧, _EXTERN_ 的两边为什么要加 下划线?如果不加的话 会怎么样呢?但是 我在写程序的时候,加 下划线 有错误,不能编译过去,要是用 extern 就没有问题
页:
[1]