【发布时间】:2011-11-10 22:14:31
【问题描述】:
给一个void *变量作为输入(只能指向一个进程或线程),我想先确定它的类型,然后再转换成那个类型。
我应该如何在 C++ 中做到这一点?我知道这是一个愚蠢的问题,但我以前从未做过 C/C++,现在还不能思考 C/C++。
编辑:我需要在 Linux 和 Windows 上实现这一点。
【问题讨论】:
-
你在内核里面吗?用户模式程序每个都有自己的地址空间,它们不能有指向任何其他进程内存的指针。也许你有一个 pid/tid 而不是
void*? -
哪个操作系统?指向的“进程”或“线程”是什么?
-
“进程或线程”是指你有代表这些东西的类吗?
-
@MarceloCantos 我正在寻找一种统一的方式来传递 pid 或 tid 但会以不同的方式处理 id。抱歉,我可能没有正确说明我的问题。
-
@TerryLiYifeng:你必须将 PID/TID 汇集到
void *中,另一方面能够获得 ID 和它的类型,对吗?
标签: c++ multithreading pointers process void-pointers