//gcc write.c -o write -g #include #include #include "/usr/local/include/mm.h" struct shm{ int a; char b; float c; }*pt; int main() { size_t size_mem; MM *p_mm; size_mem = 1024; int a; char b; float c; p_mm = mm_create(size_mem,"../mm"); if(p_mm == NULL) { perror("error"); return 0; } pt = (struct shm*)p_mm; printf("addr_p_mm =%x\n",p_mm); printf("addr_pt =%x\n",pt); while(1) { mm_lock(p_mm,MM_LOCK_RW); a = pt->a; b = pt->b; c = pt->c; mm_unlock(p_mm); printf("a = %d,b = %d,c = %f \n",a,b,c); sleep(5); } return 0; }