linux共享内存循环读写,linux共享内存的读写有关问题!

linux共享内存的读写问题!!

//共享内存区段的挂载,脱离和使用

//理解共享内存区段就是一块大内存

#include 

#include 

#include 

#include 

#define MY_SHM_ID 67483

int main(  )

{

//共享内存区段的挂载和脱离

int shmid,ret;

void* mem;

shmid=shmget( MY_SHM_ID,0,0 );

if( shmid>=0 )

{

mem=shmat( shmid,( const void* )0,0 );

//shmat()返回进程地址空间中指向区段的指针

if( ( int )mem!=-1 )

{

printf( "Shared memory was attached in our address space at %p/n",mem );

//向共享区段内存写入数据

strcpy( ( char* )mem,"This is a test string./n" );

printf( "%s/n",(char*)mem );

//脱离共享内存区段

ret=shmdt( mem );

if( ret==0 )

printf( "Successfully detached memory /n" );

else

printf( "Memory detached failed %d/n",errno );

}

else

printf( "shmat(  ) failed/n" );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值