预编译器宏替换

一只弃狗 2013-05-20 10:22:31
谁帮忙给个简单的预编译器中“宏替换部分”的源代码。。。c或c++的。。谢谢了。
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
一只弃狗 2013-05-22
  • 打赏
  • 举报
回复
引用 11 楼 ksrsoft 的回复:
后面程序中的MAX换做100?是文件中的max换成100呢,还是什么代码判断啊 根据你的思路,是不是来个宏定义更合适
#deinfe max
#ifdef max 
....
#endif
就是说让你自己写个代码打开一个txt文件。查找文件中有没有宏替换如,#define max 100.没有就不用操作。有的话就将文件中所有其他max换作100。其实就是宏替换的具体实现。不用函数宏替换的,就简单值的宏替换就行
一只弃狗 2013-05-22
  • 打赏
  • 举报
回复
引用 12 楼 ccrun 的回复:
[quote=引用 10 楼 u010472855 的回复:] 现在我自己想做个简单的预编译器,只包含“宏替换功能”。。求代码。 基本意思是:打开一个txt文件,查找有无宏替换命令行(如:#define MAX=100;),有就将后面程序中的MAX换做100;没有就不用操作。。。。没时间写,感觉不是很难。
那你的需求就有些复杂了,需要做代码格式化,然后语义分析等等……[/quote] 不用语意分析的,只要查找到被宏定义的,如max.就替换为100就行了
ccrun.com 2013-05-21
  • 打赏
  • 举报
回复
缘中人 2013-05-21
  • 打赏
  • 举报
回复
看了很久,才找出来,多了个分号啊!
ccrun.com 2013-05-21
  • 打赏
  • 举报
回复
引用 2 楼 ksrsoft 的回复:

#define  msg(str)    ShowMessage(str);

msg("hello");
就拿这个例子来讲,应该改成:
#define  msg(str)    ShowMessage(str)
msg("hello");
#define  msg(str)    ShowMessage(str);
msg("hello")
注意细微差别。
缘中人 2013-05-21
  • 打赏
  • 举报
回复

#define  msg(str)    ShowMessage(str);

msg("hello");
ccrun.com 2013-05-21
  • 打赏
  • 举报
回复
引用 10 楼 u010472855 的回复:
现在我自己想做个简单的预编译器,只包含“宏替换功能”。。求代码。 基本意思是:打开一个txt文件,查找有无宏替换命令行(如:#define MAX=100;),有就将后面程序中的MAX换做100;没有就不用操作。。。。没时间写,感觉不是很难。
那你的需求就有些复杂了,需要做代码格式化,然后语义分析等等……
缘中人 2013-05-21
  • 打赏
  • 举报
回复
后面程序中的MAX换做100?是文件中的max换成100呢,还是什么代码判断啊 根据你的思路,是不是来个宏定义更合适
#deinfe max
#ifdef max 
....
#endif
一只弃狗 2013-05-21
  • 打赏
  • 举报
回复
现在我自己想做个简单的预编译器,只包含“宏替换功能”。。求代码。 基本意思是:打开一个txt文件,查找有无宏替换命令行(如:#define MAX=100;),有就将后面程序中的MAX换做100;没有就不用操作。。。。没时间写,感觉不是很难。
引用 9 楼 ccrun 的回复:
没明白你的意思。
ccrun.com 2013-05-21
  • 打赏
  • 举报
回复
没明白你的意思。
一只弃狗 2013-05-21
  • 打赏
  • 举报
回复
引用 5 楼 ccrun 的回复:
我是要自己写给预编译器,简单的。。缺个对宏替换的实现。
一只弃狗 2013-05-21
  • 打赏
  • 举报
回复
引用 5 楼 ccrun 的回复:
我是要自己写给预编译器,简单的。。缺个对宏替换的实现。
一只弃狗 2013-05-21
  • 打赏
  • 举报
回复
我是要自己写给预编译器,简单的。。缺个对宏替换的实现。
一只弃狗 2013-05-20
  • 打赏
  • 举报
回复
自顶。。。。。。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧