I am new to C programming. I found that it is uint64_tused as a buffer address, not void*libibverbs.
struct ibv_sge{
uint64_t addr;
uint32_t length;
uint32_t lkey;
}
The disadvantage that I can think of is its mobility. On a 32-bit system, this will cause a compilation error, or at least memory loss. So why do this? Are there any advantages?
I also noted that there is another alternative approach, for example uintptr_t. What is the best approach for describing a universal memory address?
source
share