0

ACE_OS::thr_self() 返回 ACE_thread_t。ACE 记录器有一个开关“\t”来打印它。如果我想使用 printf() 打印线程 id,我该怎么做?

4

2 回答 2

2

如果 ACE 不提供执行此操作的方法,则您必须弄清楚它的类型。鉴于它是 ACE,它可能隐藏在嵌套在 5 个#defines 中的 3 个 typedefs 后面。头文件OS_NS_Thread.h看起来和任何一个起点一样好。

于 2009-11-16T16:08:54.090 回答
1

高手?C++?为什么不使用 iostream 而不是 printf?

ACE_thread_t id = ACE_OS::thr_self();
unsigned char content[sizeof(id)];
size_t i;
memcpy(content, &id, sizeof(id) );
for (i=0; i<sizeof(id); ++i) printf("%02X",content[i]);
于 2009-12-03T00:37:07.240 回答