我有一个在嵌入式设备上运行的软件(x86,最近的linux).为了简化开发,使用自动化测试等,我想在我的主机系统上运行它.代码编译很好,对构建系统进行了一些调整.下一步将是创建"虚拟设备".
应用程序不使用任何类型的库,而是通过读取,写入和ioctl调用直接与多个设备通信.这些设备代表具有自定义协议的自定义硬件.要创建虚拟环境,我需要响应此调用.一种可能的方法是:
/dev/deviceA,/dev/deviceB,/dev/deviceC,...)/dev/deviceSimulation)/dev/deviceSimulation/dev/deviceSimulation模拟的状态交互并跟踪模拟的状态. 如果没有通过Linux内核的往返,有没有更简单的方法呢?
在一个对象中,我有一个const-handle数组到另一个特定类的某个对象.在方法中,我可能希望将此句柄之一作为inout参数返回.这是一个简化的例子:
class A {}
class B {
const(A) a[];
this() {
a = [new A(), new A(), new A()];
}
void assign_const(const(A)* value) const {
// *value = a[0]; // fails with: Error: cannot modify const expression *value
}
}
void main() {
const(A) a;
B b = new B();
b.assign_const(&a);
assert(a == b.a[0]); // fails .. obviously
}
Run Code Online (Sandbox Code Playgroud)
我不想删除原始数组中的const.类B是指对集合常量的某种视图 - A项.我是来自C++的D新手.我是否在D-way中搞乱了const-correctness?我已经尝试了几种方法让它工作,但不知道如何正确.
如果没有"邪恶"的投射,如何正确执行此查找?