-7
이 코드 스 니펫을 발견했습니다. 어떻게 작동하는지 모르겠습니다.포인터에 정수를 캐스팅합니다.
v = (buf *) ((uintptr_t) wc.wr_id)
왜 포인터를 캐스팅하기 전에 여기에 uintptr_t가 사용되는지 이해할 수 없습니까? 이러한 변수는 다음과 같이 정의된다 : 친밀한 하드웨어에 대한 지식이 코드는 64 비트 정수의 포인터 값을 저장하는 비 이식 가능한 코드를 사용하고 실행되는 소프트웨어
struct ibv_exp_wc {
uint64_t wr_id;
enum wc_status status;
}wc;
buf *v = NULL;
uint64_t wr_id;