线程池代码上,往往需要输出对应的线程池编号,即(int) pthread_self() 但是在64为机器上可能导致因为int为4字节,指针统统为8字节,所以一般将int改成uintptr_t 即可解决
"Cast from pointer to smaller type 'int' loses information” 解决
最新推荐文章于 2024-02-09 19:42:59 发布
本文探讨了在64位系统中使用线程池时遇到的问题,特别是关于如何正确获取线程池编号的方法。由于64位系统中指针大小为8字节,而int类型通常为4字节,直接使用(int)pthread_self()可能导致问题。文章提出了解决方案:使用uintptr_t替代int来确保兼容性。
832

被折叠的 条评论
为什么被折叠?



