|
Hi, I do NOT want to access the content of the pthread, but I need some identification that allows me to distinguish the different threads that are running in parallel (on different cores). So I dont care if pthread is a pointer or an int as long as I can cast it to something that << can print (preferably in hex). No need to even print the content of the pthread. Best Regards, Jürgen On 09/20/2017 10:26 PM, Xiao-Yong Jin
wrote:
So you have a 32bit linux? Things got more complicated when you want memory safety unfortunately. POSIX basically tells us pthread_t can be anything, so if you really want to print the content, perhaps the following would work without the compiler complaining. (I think only char can be used for type punning without breaking the strict aliasing rule, but that may only be true in C?)const unsigned char* a = reinterpret_cast<const unsigned char*>(&thread); for (size_t i = 0; i < sizeof(thread); ++i) out << hex << setw(2) << static_cast<unsigned int>(a[i]);On Sep 20, 2017, at 3:00 PM, Juergen Sauermann <[email protected]> wrote: Hi Xiao-Yong, with reinterpret_cast<size_t> I am getting (gcc 4.8) this: Thread_context.cc: In member function ‘void Thread_context::print(std::ostream&) const’: Thread_context.cc:73:42: error: invalid cast from type ‘pthread_t {aka long unsigned int}’ to type ‘size_t {aka unsigned int}’ << reinterpret_cast<size_t>(thread) ^ make[1]: *** [apl-Thread_context.o] Error 1 It seems a little ridiculous to me that replacing a good old C-style cast that worked fine for the last 10 years cannot be replaced by one of the 3 members of the C++ zoo of casts in a portable way? Maybe some intermediate cast to const void * can be done on your machine? Best Regards, Jürgen On 09/19/2017 11:44 PM, Xiao-Yong Jin wrote: |
- [Bug-apl] cast from pointer to smaller type 'int' Xiao-Yong Jin
- Re: [Bug-apl] cast from pointer to smaller type 'in... Juergen Sauermann
- Re: [Bug-apl] cast from pointer to smaller type... Xiao-Yong Jin
- Re: [Bug-apl] cast from pointer to smaller ... Juergen Sauermann
- Re: [Bug-apl] cast from pointer to smal... Xiao-Yong Jin
- Re: [Bug-apl] cast from pointer to... Juergen Sauermann
- Re: [Bug-apl] cast from pointe... Juergen Sauermann
- Re: [Bug-apl] cast from po... Xiao-Yong Jin
- Re: [Bug-apl] cast from po... Xiao-Yong Jin
- Re: [Bug-apl] cast from pointe... Xiao-Yong Jin
- Re: [Bug-apl] cast from po... Juergen Sauermann
