Q
宏在哪里存储?
5
A
回答
14
4
预处理指令一样#define
将替换在编译的预处理阶段相应的文本,并(几乎)从来没有在最终的可执行表示。
0
3
“宏”是一个“编译时的事情”。
它在编译之前只是“替换了编译器看到的文本”。
结果(在编译代码中)可以是一组操作......数据声明......或者根本没有。
但是,“宏”本身是预处理器完成后,编译实际上开始之前的古代史。
0
宏只是文本替换。当被代替时,这些成为代码的一部分,并因此被存储在代码段中。
相关问题
- 1. .NET“独立存储”存储在哪里?
- 2. 在哪里存储数据?
- 3. 变量存储在哪里?
- 4. Git Stashes存储在哪里?
- 5. ViewState存储在哪里?
- 6. 在哪里存储音乐
- 7. JSESSIONID存储在哪里? (JavaEE)
- 8. 这些存储在哪里?
- 9. 在哪里存储配置
- 10. BaseX Db在哪里存储?
- 11. Properties.Settings.Default存储在哪里?
- 12. OCUnit在哪里存储NSUserDefaults?
- 13. TempData在哪里存储?
- 14. memcached在哪里存储?
- 15. task_struct存储在哪里?
- 16. Cookie存储在哪里?
- 17. apc.ini在哪里存储
- 18. 在哪里存储PHP cookies?
- 19. .data()在哪里存储值?
- 20. nginx在哪里存储rewrite_log?
- 21. AspnetIdentity在哪里存储UserTokens?
- 22. 数据存储在哪里?
- 23. jquery将存储在哪里?
- 24. iPhone:NSUserDefaults存储在哪里?
- 25. 隐藏存储在哪里?
- 26. 记事本++中存储的记录宏在哪里?
- 27. 哪里df.cache()存储
- 28. DNS缓存为Ubuntu存储在哪里?
- 29. 闪存消息存储在哪里?
- 30. DEBUG宏定义在哪里?
我不认为文本替换是相当公平的。它可以处理参数列表等。 –
是的。宏对许多事情都很有用。 op对于cpp pass有点模糊。文本替换是发生了什么。 – EvilTeach
@AndrewWhite:预处理器很复杂,但它仍然只是进行文本到文本的转换。例如,在unix系统中,可以独立于编译器运行预处理器,甚至可以将C预处理器用于某些非C文件。 – hugomg