`
simohayha
  • 浏览: 1400221 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

诡异的宏问题

阅读更多
#include <stdio.h>
#define f(i) {printf("%d",i);}

void main()
{
	f(5);
}


这个会打印出5;
然后紧接着修改程序;
#include <stdio.h>
#define printf_ex(x) printf x

void main()
{
	f(5);
}


这个竟然不会出错,还会打印出5;

#include <stdio.h>
#define printf_ex(x) printf x
void main()
{
	f(5);
	printf_ex(8);
}


这时就会出错了,我的编译器是vc6,请问这是什么问题?是与预处理器相关吗?还是编译器的问题.
分享到:
评论
2 楼 simohayha 2007-05-15  
cl.exe 时会出错,显示没有f这个定义,可是在ide里面编译什么的都能通过.
1 楼 bigpanda 2007-05-15  
我用VC 2005编译你第二个linker出错。没有f的定义。

编译第三个出错。

cl.exe有个开关/P

cl.exe /P prog.c

会生成一个叫prog.i的文件,那是预处理结果。#include这句搞的好大,所以可以把这句去掉。可以看看你的宏预处理完是什么样。

g++下面也有类似的开关。

VC 6开关如果不是这个可以查查手册。

要是template也有个这个就好了,看看template instanization生出来到底是什么代码。

相关推荐

    【故障处理】BLOG_DBCA建库诡异问题处理--rac环境不能创建rac库.pdf

    【故障处理】BLOG_DBCA建库诡异问题处理--rac环境不能创建rac库.pdf【故障处理】BLOG_DBCA建库诡异问题处理--rac环境不能创建rac库.pdf

    浅谈SpringMVC HandlerInterceptor诡异问题排查

    浅谈SpringMVC HandlerInterceptor诡异问题排查 SpringMVC中的HandlerInterceptor是非常重要的组件之一,它可以在请求处理的各个阶段进行干预和修改。本文将主要介绍如何排查SpringMVC HandlerInterceptor中的诡异...

    Oracle排错 DBCA建库诡异问题处理--rac环境不能创建rac库

    ### Oracle排错 DBCA建库诡异问题处理--rac环境不能创建rac库 #### 故障处理概述 本文主要探讨了在Oracle RAC环境中利用DBCA(Database Configuration Assistant)工具进行数据库创建时遇到的一个特殊问题——无法...

    易语言源码诡异心理游戏易语言源码.rar

    易语言源码诡异心理游戏易语言源码.rar 易语言源码诡异心理游戏易语言源码.rar 易语言源码诡异心理游戏易语言源码.rar 易语言源码诡异心理游戏易语言源码.rar 易语言源码诡异心理游戏易语言源码.rar 易语言源码...

    java web开发过程中出现的一些诡异问题(2)

    在Java Web开发过程中,我们经常会遇到一些看似诡异但实际上有其内在原因的问题。这些问题可能是由于对技术理解不深入、代码编写不当或配置错误所导致的。本文将探讨几个常见的Java Web开发中的难题,并尝试提供解决...

    杭电1180解题报告 诡异的楼梯

    根据给定的信息,这篇代码是针对杭电OJ(Online Judge)平台上的1180题——“诡异的楼梯”的解题报告。该题目通过一个迷宫类问题,考察了广度优先搜索(BFS)算法的应用。接下来,我们将详细解析这段C++代码中的关键...

    IIS-7.5版本中一些诡异问题的解决方案

    在IIS 7.5版本中,用户可能会遇到一些不寻常的问题,这些问题可能涉及到WCF服务部署、身份验证设置、登录失败以及内部服务器错误。本文将详细介绍这些常见问题及其解决方案。 1. **IIS 7.5中的WCF服务宿主问题** ...

    易语言诡异心理游戏

    《易语言诡异心理游戏》是一款基于易语言开发的心理游戏,其独特之处在于它结合了编程技术和心理学原理,为玩家提供了一种新颖的游戏体验。易语言是中国本土开发的一种简单易学的编程语言,旨在降低编程门槛,让普通...

    WPF 加载诡异的字体无法布局.rar

    在Windows Presentation Foundation(WPF)开发中,遇到“加载诡异的字体无法布局”的问题时,开发者通常会面临一些挑战。WPF是一个强大的UI框架,它允许我们创建丰富的、交互式的桌面应用程序,包括对各种字体的...

    CTabCtrl的诡异实例

    在本文中,我们将深入探讨`CTabCtrl`的使用以及可能遇到的一些诡异实例。 1. **`CTabCtrl`的基本用法** - 创建`CTabCtrl`:在对话框或视图类中,可以通过在资源编辑器中添加一个`TCN`类型的消息控件,并在代码中将...

    Visual Studio的 诡异bug(mscorlib无法引用)

    在IT行业中,开发工具的稳定性至关重要,而Visual Studio作为微软推出的强大IDE,有时也会遇到一些让人头疼的问题。本文将深入探讨“Visual Studio的诡异bug——mscorlib无法引用”这一主题,结合`midwareproj....

    诡异通道Chrome插件-crx插件

    语言:English,中文 (简体) 诡异通道为Google Chrome浏览器定制的扩展程序 使用不通国家服务器的中转,来达到访问不通国家网站的速度的大幅提升。

    安卓应用-电子图书-诡异漫画手机版 v1.0.22.zip

    《诡异漫画手机版 v1.0.22》是一款专为安卓用户设计的电子图书应用,主要专注于提供各类诡异、惊悚、恐怖题材的漫画资源,让读者在移动设备上享受独特的阅读体验。作为一款社交聊天类应用,它还集成了互动功能,允许...

    扫除Android版的Youtube Sdk接入到自己项目中出现的各种诡异问题....zip

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,...

    【高并发】一文解密诡异并发问题的第一个幕后黑手——可见性问题

    而这些优化措施恰恰是导致并发编程频繁出现诡异问题的根源。 大冰:很好,小菜童鞋,掌握的不错,今天,我们就深入讲讲由缓存导致的可见性问题,这就是并发问题的三大“幕后黑手”之一,这个知识点非常重要,好好听...

    Scratch少儿编程项目音效音乐素材-【风】相关音效-诡异的风.zip

    Scratch是一款由麻省理工学院(MIT)设计开发的面向儿童的图形化编程工具,它以积木式编程语言为特点,旨在培养孩子的逻辑思维、创新能力和问题解决能力。在这个"Scratch少儿编程项目音效音乐素材-【风】相关音效-诡异...

    java程序中处理一个包含诡异的不可见的字符。

    在Java编程中,有时我们可能会遇到一些难以察觉的诡异字符,这些字符可能隐藏在字符串中,导致程序出现预期之外的行为。这些不可见字符通常属于Unicode字符集中的特殊字符,例如空格、制表符、换行符等。处理这类...

Global site tag (gtag.js) - Google Analytics