|
code:
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <stdio.h>
#include "def.h"
#define BUF_SIZE 1024
#define MY_KEY 30
int main(void)
{
int i_shmid = 0;
char *p_shm = NULL;
i_shmid = shmget(MY_KEY, BUF_SIZE, IPC_CREAT);
if (-1 == i_shmid)
{
ASSERT(FALSE);
return 1;
}
printf(" The shm_id is %u.\r\n", i_shmid);
p_shm = shmat(i_shmid, 0, 0);
if ((void *)-1 == p_shm)
{
ASSERT(FALSE);
return 1;
}
printf(" The share memory address starts at: 0x%x\r\n", p_shm);
return 1;
}
代码就是像上面这样的,就是创建一个共享内存,并且附加到本进程而已,可是在附加的时候总是出错,得到的指针是无效的(0xffffffff),是有什么地方出错了么?
我是比着教材来做的阿~
还有就是我看大家在帖子中贴程序都有一个单独的下拉框,是怎么搞的啊? |
|