小编use*_*419的帖子

什么是C/C++中的"字节"

例如,这是fread的参考:

size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Run Code Online (Sandbox Code Playgroud)

读取一个count元素数组,每个元素的大小为"size bytes"...那么有多少BITS会读取一个fread(&x, 1, 1, stream)?八个还是CHAR_BIT

c byte char fread language-lawyer

19
推荐指数
2
解决办法
817
查看次数

OpenProcess 错误 87 无效参数

我正在尝试编写一个程序,该程序从当前目录中的 MinGW 发行版执行 make.exe 并利用其 STDOUT 数据和退出代码。我有一个处理 STDOUT 的句柄,我从中获取数据,用 CreatePipe 创建。当我在该管道上收到 ERROR_HANDLE_EOF 时,我认为该进程已退出并尝试获取其退出代码:

if(session->pid == 0) return;
HANDLE hp = OpenProcess(PROCESS_QUERY_INFORMATION |
            PROCESS_TERMINATE, TRUE, session->pid);
if(hp == NULL) {
    printf("OpenProcess(%i) failed, error: %i\n",
        session->pid, (int)GetLastError());
    return;
}
Run Code Online (Sandbox Code Playgroud)

我的代码适用于我测试的所有其他 MinGW 实用程序(如 pwd、ls 等),我可以毫无问题地获得 STDOUT 和退出代码。但是当我在 make 上尝试时,上面的代码显示以下消息:

“OpenProcess(2032) 失败,错误:87”

我用谷歌搜索错误代码 87,它说“无效参数”。我不明白像 2032 这样的积极进程 ID 有什么可能无效。有什么想法吗?

winapi makefile openprocess getlasterror

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

标签 统计

byte ×1

c ×1

char ×1

fread ×1

getlasterror ×1

language-lawyer ×1

makefile ×1

openprocess ×1

winapi ×1