2 jujiawu1024 jujiawu1024 于 2016.04.15 16:25 提问

C++ 6.0关于宏语句的用法问题

C++ 6.0中的宏函数可以被goto语句跳转执行么?宏函数的源代码怎么在程序中垂询?

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.18 05:06
已采纳

宏语句只是预编译语句,没有你说的作用,关于宏语句参考:
http://blog.csdn.net/hanchaoman/article/details/8809951/

John_ToStr
John_ToStr   Rxr 2016.04.15 16:34

是不能够的, 为什么呢 ,是因为宏函数并不是语句,而是预处理指令,所以他是程序预编译的时候进行替换的,生命周期到不了运行时的。。。

John_ToStr
John_ToStr 回复jujiawu1024: 求采纳, 求关注!!!
2 年多之前 回复
John_ToStr
John_ToStr 回复jujiawu1024: 那就不要用宏函数,换成一般的函数就行,
2 年多之前 回复
jujiawu1024
jujiawu1024 具体怎么办呢
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【C基础】#define宏定义中的#,##,@#,\ 这些符号的神奇用法
C/C++ 宏命令的神奇用法。先看下面三条语句:#define Conn(x,y) x##y #define ToChar(x) #@x #define ToString(x) #x1. ## 连接操作符##表示连接(token pasting, or token concatenation,merge two tokens into one while expanding macros)。x##
C语言宏定义的几个坑和特殊用法
总结一下C语言中宏的一些特殊用法和几个容易踩的坑。由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档。 宏基础 宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见。基本用法如下: 1. 标示符别名 #define BUFFER_SIZE 1024 预处理阶段,foo = (char *) m
STM32的宏定义问题?
在刚开始学习STM32单片机的时候,我们会遇到这样的问题: #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_V
宏定义中if语句的用法
当宏定义中含有 if 时 1) 定义如下宏 #define DC(p) if( foo(p) )fun(p) 用在下面的环境中 if(k>n) DC(k); else DC(n); 宏替换后,如下 if(k>n) if( foo(k) ) fun(k); else if( foo(n) ) fun( n ); 可见, 原来的 if 和 else 不再配对.
C语言宏定义高级用法总结
1、宏定义函数声明     #define (name) void Func##name(void)
C语言中常见的宏定义笔试/面试题
转载地址:http://blog.163.com/china_2008ay/blog/static/90142252200961971756712/ 写宏定义:得到一个field在结构体(struct type)中的偏移量。   2009-07-19 19:17:56|  分类: C语言|举报|字号 订阅 #define OFFSETOF(type,
宏的多种用法与简介
预处理指令:例如:#include      #include               #define MAX 20 .............       因为他们由预处理器解释的,所以称作预处理指令。预处理器读取源代码,然后对其修改,并把修改过的源代码传给编译器,再由编译器编译。在我们的例子中预处理器用库函数stdio.h , stdlib.h的内容替换分别执行第一,二条预处理指
gcc预编译#if,#elif,#endif以及常用宏定义
 转载:http://blog.chinaunix.net/uid-26854432-id-3181585.html #if语句 #if语句会计算它后面的表达式,并检查表达式的结果,如果结果为真(true),就编译后面的语句,如果为假(false),就不编译后面的语句。 例如: #if COUNT char *desc = "The count is non-zer
c语言 宏 高级用法
#define ColorTable(COLOR)\ COLOR(BackgroundColor, RGB(0,0,0), "背景颜色")\ COLOR(TitleColor, RGB(100,0,0), "标题颜色")\ COLOR(TextColor, RGB(0,100,0), "文本颜色") /* 下面的代码 我便定义了 stringBackgroundColor ="Ba
关于宏定义的一些使用方法和注意点总结
我在写代码的时候喜欢使用宏,不仅使代码看起来整洁,而且用好了还能极大的减轻编码的工作量,但是如果 使用不当的话,出了问题查找起来就就非常的难了,下面的总结大部分是从网上看到的,也有一些是我自己在工作中总结出来的。 宏使用中的常见的基础问题 1. 防止一个头文件被重复包含    #ifndef BODYDEF_H    #define BODYDEF_H    //头文件内容    #e