【发布时间】:2016-10-21 08:38:05
【问题描述】:
我正在尝试处理 HDL 到 C++ 的转换,但遇到了一些障碍。 在 Ubuntu 上使用 Verilator 进行转换很简单,但一种数据类型让我很烦。
层次结构中的顶部代码是...
#include <iostream>
#include "VDorQ24Syms.h"
#include "VDorQ24.h"
using namespace std;
// FUNCTIONS
VDorQ24Syms::VDorQ24Syms(VDorQ24* topp, const char* namep)
// Setup locals
: vm_namep(namep)
, vm_activity(false)
, vm_didInit(false)
// Setup submodule names
{
// Pointer to top level
tOPp = topp;
// Setup each module's pointers to their submodules
// Setup each module's pointer back to symbol table (for public functions)
tOPp->Vconfigure(this, true);
// Setup scope names
}
向函数传递数据
VDorQ24Syms::VDorQ24Syms(VDorQ24* topp, const char* namep)
是我没有得到的。第二个参数很容易理解。第一个,没那么多。
我的意思是,编译器希望我通过什么?哪种数据类型?
我想像这样传递数据...
VDorQ24* randomCharacter;
if (VDorQ24Syms(randomCharacter, szAscii) == /*condition*/)
{
return /*value*/;
}
但是 'randomCharacter' 未初始化。
VDorQ24* randomCharacter = /*How do I initialize this?*/;
【问题讨论】:
-
指向
VDorQ24的指针。为什么不在"VDorQ24.h"头文件中查找可能的类定义? -
我已经将问题重新定义为如何初始化要传递的变量。有什么想法吗?
-
@loumbut5 你的程序格式不正确。任何以双下划线开头或以下划线和大写字母开头的名称都保留用于标准实现。这适用于任何范围。
-
请发布一个最小但完整的代码示例。它将对我们有很大帮助,我们或许能够更有效地帮助您。
标签: c++ ubuntu visual-c++ hdl verilator