为什么叫宏定义

[复制链接]
5174|10
 楼主| fanxu22 发表于 2009-8-28 16:07 | 显示全部楼层 |阅读模式
为什么要#define叫宏定义
define 就不是定义的意思吗?为什么非要加个“宏”?
平常人 发表于 2009-8-28 21:42 | 显示全部楼层
it is not a simple define. It is a "Macro" define.
yewuyi 发表于 2009-8-28 21:52 | 显示全部楼层
定义和宏定义是不一样的,一般所指的定义,例如定义变量等,都会在芯片的存储空间开辟出一个位置来保存变量,但宏定义却非如此,打个比方,宏定义一般就是告诉编译器,有这么一个东西,但一般不可能开辟什么存储空间给它。

呵呵,至于宏这个名字,可能是MACRO的翻译过来的意思吧,我也不知道宏这个名字到底是怎么来的。
aozima 发表于 2009-8-28 22:17 | 显示全部楼层
一开始也有过这个疑惑
理解不通
后来把他当成专门的一个术语来解释就通了
就像堆栈和堆一样
不要从汉字的角度去理解
chunk 发表于 2009-8-28 22:27 | 显示全部楼层
这不叫“宏定义”,它的正确叫法是“马抠儿 地饭”。所以你的真正疑问应该是“那个玩意儿干嘛叫‘MACRO’?”,这恐怕得问美国人了,这是他们的母语。
myfaith 发表于 2009-8-29 09:45 | 显示全部楼层
我也一直不明白为什么叫"宏"定义,以及很多地方比如WORD里看到的所谓的"宏".
耕在此行 发表于 2009-8-29 15:45 | 显示全部楼层

RE。。。。。

应该改成“替定义”,这样才好理解。
真不知道当时什么人不负责任的翻成“宏定义”。
xwj 发表于 2009-8-29 15:54 | 显示全部楼层
学习时看书上都这么叫,也就跟着都这样了;P
chunyang 发表于 2009-8-29 16:50 | 显示全部楼层
宏定义是直接翻译的结果,macro本身的意思是“宏观的、巨大的”,“宏定义”这个词被翻译成汉语是在改革开放之后,是生在新中国、长在红旗下的新一代翻译的,说实话,这一代人跟老一代人相比,在国学知识方面差的太远,只好直译,没来个直接音译叫“马口”就算不错了……
Macro在港台被译作“巨集”,在计算机语境中,macro是指将一种简单操作自动转化成一系列指令的行为,是在一系列微观关联操作之上的宏观抽象,这个宏观抽象代表了该系列微观指令的操作,所以叫macro宏。这么说起来实在有点绕口,但就是这么回事。
“宏定义”则是抽象的定义,与“定义”的区别前面已经有网友指出,这里的宏也是来自于“宏观抽象”之意。
平常人 发表于 2009-8-29 17:02 | 显示全部楼层
怎么没有人问C#,为什么叫C Sharp?不叫C++++,或C井?哈哈哈。。。。。。。
goalsheep 发表于 2009-8-29 19:13 | 显示全部楼层
我都曾这样有疑问,后来就习惯了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部