是否有一个称为micro的预处理器指令?

时间:2013-12-12 17:33:26

标签: c macros

在课堂上我们讨论了处理器指令,我在笔记中有一些标记为macro的函数和一些标记为micro的函数。我不确定micro是否是它自己的实体,或者我当天是否误解了教授。

我在网上搜索了它,但我想仔细检查。

是否真的有micro这样的项目(您将在C类简介中学习),如果是这样,它与macro有什么不同?

编辑:

我的笔记看起来像这样:

#define CIRCLE(radius) 3.1415 *radius*radius
#define MAX(a,b) (a>b)?a:b

#define PRINT_ARRAY(A,N){\
    int i;
    for(i=0;i<N;i++)\
    printf("%d\n",A[i]);\
    }

但我怀疑我标记为Micro的内容也是Macro

4 个答案:

答案 0 :(得分:2)

Here is a 2011 draft of the standard.你会发现没有这样的事情。只有宏,很可能教授写了一个错字或指的是别的东西。

答案 1 :(得分:1)

我不认为在C中有任何称为MICRO的东西。我可以在Google上搜索的最好的是Grantronics: Micro/C CompilersMicroC/OS-II,它基本上是微控制器操作系统版本2的首字母缩写< /强>

但是在C中你有MACRO

修改: -

您的编辑确认您输了一个拼写错误,因为它显然是 MACRO in C 。您编写的以下代码是MACRO。

#define PRINT_ARRAY(A,N){\
    int i;
    for(i=0;i<N;i++)\
    printf("%d\n",A[i]);\
    }

答案 2 :(得分:1)

没有。在C中,宏是预处理器指令。基本上,它是一段代码的名称。在编译的第一阶段,预处理器用代码替换该名称的所有出现。以下是更多信息:http://gcc.gnu.org/onlinedocs/cpp/Macros.html

语言没有定义微观,但它们可能是用户定义的东西,例如数据类型。

答案 3 :(得分:1)

根据您的编辑,您可能只是在笔记中犯了一个错误。你在“微”下拥有的实际上是一个C宏。