我想知道里面是否有可能main()
来自 C 的函数来包含一些东西。
例如,在 Cell 程序中,我定义了 cache-api.h 的参数,稍后将在main()
我想改变的功能。
我明白什么是定义的#define
可以是未定义的#undef
程序中的任何位置,但在重新定义所需参数后,我必须再次包含cache-api.h。那可能吗?
我怎样才能更优雅地解决这个问题?假设我想从主存储中读取cache_rd(...)
但在 SPU 执行期间类型会有所不同,我如何同时使用两者#define CACHED_TYPE struct x
and #define CACHED_TYPE struct y
在同一个程序中?
预先感谢您的回答,我希望我的表达清楚。
#define
and #include
只是在编译的“预处理”阶段发生的文本操作,这在技术上是一个可选阶段。因此,您可以以各种方式混合和匹配它们,只要您的预处理器语法正确,它就可以工作。
但是,如果您重新定义宏#undef
您的代码将很难理解,因为相同的文本在代码中的不同位置可能有不同的含义。
对于自定义类型typedef
在可能的情况下更受欢迎,因为您仍然可以从编译器的类型检查机制中受益,并且它不太容易出错,因为它的可能性比#define
宏会对周围的代码产生意想不到的副作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)