【发布时间】:2012-03-15 22:48:46
【问题描述】:
我正在浏览一家名为 OVP(类似于 qemu 的产品)的公司提供的“处理器建模指南”。其中,有一段小代码 sn-p 类似于以下内容:
static or1kDispatchTableC dispatchTable = {
// handle arithmetic instructions
[OR1K_IT_ADDI] = disDefault,
[OR1K_IT_ADDIC] = disDefault,
[OR1K_IT_ANDI] = disDefault,
[OR1K_IT_ORI] = disDefault,
[OR1K_IT_XORI] = disDefault,
[OR1K_IT_MULI] = disDefault
};
我以前从未见过这样的语法。 删除了与 C++ 无关的内容
目前我没有能力下载/查看他们的东西来查看任何东西是如何定义的,因此我的问题是。如果你认识这个语法,你能权衡一下吗?
编辑
or1kDispatchTableC 是 or1kDispatchTableCP 类型指针的 typedef,但我仍然不知道 or1kDispatchTableCP 是什么。
【问题讨论】:
-
在过去几年中,要么 C++ 的变化比我想象的要大(很有可能),要么有人对 [] 运算符进行了一些奇怪的重新定义。我将开始深入研究 or1kDispatchTableC 的构造函数/赋值运算符定义,然后弄清楚它试图采用什么。但是不,以前从未见过。
-
可能要等到我可以访问他们的标题才能获得完整的答案。
-
[] 运算符有什么用?没有左手边..
-
如果 this (ovpworld.org/documents/OVP_Processor_Modeling_Guide.pdf) 可以通过,or1kDispatchTableC 是一个函数指针数组,而 OR1K_IT_* 都是枚举标签。
标签: c syntax c99 c11 aggregate-initialization