小编Vig*_*esh的帖子

重定向控制台应用程序的标准输入

我有一个控制台应用程序,我试图通过重定向过程的标准输入流自动化.在打开应用程序后的手动模式下,它等待用户输入,如下所示,在此输入图像描述

我使用重定向的标准输入流创建了该过程.代码片段如下,

Process newProcess = new Process();
newProcess.StartInfo.FileName = exeName;
newProcess.StartInfo.Arguments = argsLine;
newProcess.StartInfo.UseShellExecute = false;
newProcess.StartInfo.RedirectStandardOutput = false ;
newProcess.StartInfo.CreateNoWindow = false;
newProcess.StartInfo.RedirectStandardInput = true;
newProcess.Start();
Run Code Online (Sandbox Code Playgroud)

但是创建这样的过程会产生如下所示的无限循环, 在此输入图像描述

这就像我正在向Enter进程输入流连续发送键命令.谁能指出我在这里做错了什么?

同样,标准输出流重定向在制作后也不起作用

newProcess.StartInfo.RedirectStandardOutput = true

但我可以解决这个问题.

标准流的重定向是否适用于所有控制台应用程序,或者是否有任何异常?

c# iostream process io-redirection

14
推荐指数
2
解决办法
1万
查看次数

通过USB将数据从android发送到PC

如何从Android发送简单数据(使用java编程)到通过USB连接的PC?我正在使用android 2.3.3.还有人可以告诉我应该用什么API来做这个?..谢谢

usb android

6
推荐指数
1
解决办法
1万
查看次数

perf stat为每次运行提供不同数量的指令

我对以下空程序运行了perf分析,

#include <stdio.h>
int main() {
}
Run Code Online (Sandbox Code Playgroud)

编译并运行perf stat ./a.out后,我得到了以下输出说明(以及其他数据,如周期数,任务时钟等):

418,869 instructions # 0.87 insns per cycle
Run Code Online (Sandbox Code Playgroud)

在同一个精灵的每次'perf'分析期间,指令的数量都会发生变化.

我的实际需要是找到我写的特定函数中的指令数.所以我将从新程序中的指令数减去上面的数字.(我可以计算在gcc中使用-S标签创建的program.s中的行数,但在查看perf行为后我感到困惑)

为什么说明的数量不一致,确切地说不一样?

更新 我按照手册页中给出的示例在C中使用perf_event_open()

linux computer-architecture perf

6
推荐指数
1
解决办法
1092
查看次数

在Devexpress gridcontrol中隐藏标题

任何人都可以告诉我如何在DevExpress gridcontrol中隐藏标题.. ?? 我正在使用C#..所有我想要的是一个单元格矩阵,没有标题行和标题.

c# devexpress gridcontrol

4
推荐指数
1
解决办法
1万
查看次数

ioread32后跟iowrite32没有给出相同的值

我已经开始学习linux设备驱动程序了.我正在做一些示例程序作为我学习的一部分.为了理解内存映射IO,我编写了以下代码.(这里只显示了init).基地址没有硬件映射.

static unsigned long base = 0xfed00000;
unsigned long device_base=0;
unsigned long virtual_base=0;

static int __init sharedirqmodule_init(void) {
u32 register1=0;
u32 value=0x23456789;
device_base=base;
void *address=0;

if(!request_mem_region(device_base,8,"device"))
    return -ENODEV;

virtual_base = (unsigned long) ioremap(device_base, 8);
address=(void *)virtual_base;

printk(KERN_ERR "Sharedirq : Address value: %lx\n",address);

iowrite32(value,address);
wmb();

register1=(u32)ioread32(address);
rmb();

printk(KERN_ERR "Shared irq :value: %d \n",register1);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该模块是insmod'ing.但是我在使用ioread32时没有得到正确的值.我得到以下输出,

[20441.627344] Sharedirq : Address value: ffffc900001ce000
[20441.627365] Shared irq :value: -1  
Run Code Online (Sandbox Code Playgroud)

该计划出了什么问题?如果错误是愚蠢的,我将不胜感激而不是直接的解决方案.(抱歉为同一个值使用多个变量.. virtual_base和地址)

linux memory io linux-device-driver

1
推荐指数
1
解决办法
5764
查看次数