Jul 16, 2011 #3 D dipal_z Guest 宏的用法始终是与实际的代码(即,他们总是在内衬)取代,而最多的编译器来决定是否更换内联函数的调用函数的代码,或把它作为函数调用。有一些指导方针应遵循的,但即使在以下其不能保证这些指导原则,确保您的内联函数是它的代码取代。
宏的用法始终是与实际的代码(即,他们总是在内衬)取代,而最多的编译器来决定是否更换内联函数的调用函数的代码,或把它作为函数调用。有一些指导方针应遵循的,但即使在以下其不能保证这些指导原则,确保您的内联函数是它的代码取代。
Jul 16, 2011 #4 S sinu_gowde Guest 虽然宏(因为在编译时的功能代码是在调用点扩大)类似,内联函数内联函数是由编译器解析,而宏是由预处理器扩展。因此,有几个重要的区别:*内联函数执行所有类型的安全协议执行正常功能。 *内联函数指定的任何其他功能的使用相同的语法,除非它们包含在函数声明中inline关键字。 *作为内联函数的参数传递的表达式计算一次。在某些情况下,表达式通过宏的参数,可以计算不止一次。
虽然宏(因为在编译时的功能代码是在调用点扩大)类似,内联函数内联函数是由编译器解析,而宏是由预处理器扩展。因此,有几个重要的区别:*内联函数执行所有类型的安全协议执行正常功能。 *内联函数指定的任何其他功能的使用相同的语法,除非它们包含在函数声明中inline关键字。 *作为内联函数的参数传递的表达式计算一次。在某些情况下,表达式通过宏的参数,可以计算不止一次。
Jul 16, 2011 #5 I ivar4ever Guest 宏不使代码段的内存的一部分,但内联函数是代码段的一部分。宏扩展是一个preprosessing时间活动和内联函数的决议(是否接受内联或不要求)是一个编译时的活动。
Jul 16, 2011 #7 J jjohn Guest 在计算机科学中的宏是一个抽象的概念,根据定义的规则集,即一定的文本模式取代。解释器或编译器会自动替换模式,当它遇到。在编译语言,宏扩展总是在编译时发生。执行扩张的工具,它有时也被称为宏扩展。短期宏观经济是用在许多类似的背景下,这是从宏观扩张的概念,包括键盘宏和宏语言派生。在大多数情况下,使用“宏”字意味着扩大成一个较大的指示设置的一个小命令或动作。宏的目的,是经常使用的自动序列或启用一个更强大的抽象 - ,但这些往往是同样的事情。在计算机科学,内联函数是一种编程语言结构,用于建议编译器特定的功能受到线扩张,也就是说,它表明,在每一个的情况下,编译器插入的功能完整的身体功能是用来。
在计算机科学中的宏是一个抽象的概念,根据定义的规则集,即一定的文本模式取代。解释器或编译器会自动替换模式,当它遇到。在编译语言,宏扩展总是在编译时发生。执行扩张的工具,它有时也被称为宏扩展。短期宏观经济是用在许多类似的背景下,这是从宏观扩张的概念,包括键盘宏和宏语言派生。在大多数情况下,使用“宏”字意味着扩大成一个较大的指示设置的一个小命令或动作。宏的目的,是经常使用的自动序列或启用一个更强大的抽象 - ,但这些往往是同样的事情。在计算机科学,内联函数是一种编程语言结构,用于建议编译器特定的功能受到线扩张,也就是说,它表明,在每一个的情况下,编译器插入的功能完整的身体功能是用来。
Jul 16, 2011 #8 W webmegamaster Guest 1。宏是由预处理器处理,而内联函数是由编译器处理。 2。宏稍快3。内联函数的参数类型的,因此编译器可以适用于某些类型的检查,函数调用。宏没有类型检查,不评估的论点,但只是简单地采用字符串传递给宏和每个宏参数发生在宏观与该参数的实际字符串的文本替换。它可能会给你有时非常surpising结果。
1。宏是由预处理器处理,而内联函数是由编译器处理。 2。宏稍快3。内联函数的参数类型的,因此编译器可以适用于某些类型的检查,函数调用。宏没有类型检查,不评估的论点,但只是简单地采用字符串传递给宏和每个宏参数发生在宏观与该参数的实际字符串的文本替换。它可能会给你有时非常surpising结果。