当前位置:  开发笔记 > 编程语言 > 正文

是否可以使用#define更改#include文件名?

如何解决《是否可以使用#define更改#include文件名?》经验,为你挑选了1个好方法。

我正在使用一些旧的C++代码,这些代码显然是在标准化之前iostream.h进行的iostream,并且从其开始,以及其他类似的代码.因此,我的相对现代版本的g ++在尝试时失败#include 等.

我很好奇是否可以使用预处理器通过命令行将实例更改iostream.h为just iostream.我试过附加-Diostream.h=iostreamg ++,但这似乎并没有改变include语句.

我猜测预处理器不可能修改include语句?



1> R Sahu..:

#include声明有三种形式.

# include "h-char-sequence" new-line

# include  new-line

# include pp-tokens new-line

哪里pp-tokens必须扩展到前两种形式之一.

你可以使用:

#include IOSTREAM

并使用-DIOSTREAM=""-DIOSTREAM=""取决于您正在使用的编译器版本进行编译.

但是,你不能使用

#include 

并编译-Diostream.h=iostream.

这有几个问题.

    iostream.h 不是有效的预处理器宏.

    #include声明的形式不适合宏观扩张.

如果您准备迁移代码库以使用新的C++标头,那么最好使用您喜欢的脚本方法将所有旧式C++标头更改为新的C++标头.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有