【发布时间】:2011-05-03 18:29:52
【问题描述】:
我想知道是否有可能在 C 的 main() 函数内部包含一些东西。
例如,在一个 Cell 程序中,我为 cache-api.h 定义了稍后在 main() 函数中我想要更改的参数。
我知道用#define 定义的内容可以在程序中的任何地方用#undef 取消定义,但是在重新定义我需要的参数之后,我必须再次包含cache-api.h。这可能吗?
我怎样才能更优雅地解决这个问题?假设我想使用 cache_rd(...) 从主存储中读取,但在 SPU 执行期间类型会有所不同,我如何在同一程序中同时使用 #define CACHED_TYPE struct x 和 #define CACHED_TYPE struct y?
提前感谢您的回答,我希望我表达清楚。
【问题讨论】:
-
如果您想优雅地解决这个问题,请切换到面向对象的语言并在运行时使用多态性在两者之间进行选择。
-
不幸的是我做不到,我在 Cell 中,我使用 C
-
将您的程序分成不同的文件,并逐个文件本地化不同的定义。
-
我不知道如何在 Cell 中使用 SPU 和 PPU.... 在 PPU 中我有这一行:extern spe_program_handle_t spu;如果我放 spu1,spu2,它会知道什么时候发送到 spu1,什么时候发送到 spu2?
-
其实是个好主意...谢谢保罗!