(備忘録)(7/13 修正)
やりたいこと
pthread_createのような、void*型を引数にとる関数で整数を渡したい。
結論
void*型への互換性がある uintptr_t, intptr_t を使う。
整数 → uintptr_t (intptr_t) → void* のようにキャストすればよい。
uint8_t hoge = 123;
pthread_create(&thread, NULL, function, (void*)(uintptr_t)hoge);
void *function(void* arg){
uint8_t hoge = (uint8_t)(uintptr_t)arg
return 0;
}
型サイズには注意すること。