linux下的内存共享,大家看看我哪里错误了

aa68454650 2011-05-16 03:47:29
****************写入内存*************************
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>
#include <unistd.h>


main(int argc, char *argv[])
{
char buf[1024];
int shm_id;
int *shm;
char *shm_ch;
key_t key;
char *name='/dev/shm/myshm';

memset(argv[1],'\0',1024);
menset(buf,'\0',1024);

key=ftor(name,0);

shm_id=shmget(key,1024,IPC_CREAT);
if(shm==-1)
{
print("error \n");
return 0;
}
else
{
shm = shmat(shm_id,0,0); //强制转换
if( shm < 0 ){
printf( "shmat(key=%d) \n",key );
return ;
}
shm_ch = (char *)shm;
strncpy(shm_ch,argv[1],1024);


}
return 0
}
***************************读取内存**************************
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>
#include <unistd.h>


main(int argc, char *argv[])
{
char buf[1024];
int shm_id;
int *shm;
char *shm_ch;
key_t key;
char *name='/dev/shm/myshm';

memset(argv[1],'\0',1024);
menset(buf,'\0',1024);

key=ftor(name,0);

shm_id=shmget(key,1024,IPC_CREAT);
if(shm==-1)
{
print("error \n");
return 0;
}
else
{
shm = shmat(shm_id,0,0); //强制转换
if( shm < 0 ){
printf( "shmat(key=%d) \n",key );
return ;
}
shm_ch = (char *)shm;
printf("shmat is %s \n",shm_ch);

}
return 0
}
...全文
26 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
当我遇上-你 2011-05-16
  • 打赏
  • 举报
回复
linux 的搞忘了,帮顶

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧