当前位置: 技术问答>linux和unix
Linux下进程间共享内存的程序问题
来源: 互联网 发布时间:2015-10-16
本文导语: 我照着《Linux程序设计这本书》写的进程间共享内存的程序,但是运行不正确,没有出现书上说的结果。程序如下。 // shm_com.h const int TEXT_SZ = 64; struct shared_use_st { int written_by_you; char some_text[TEXT_SZ]; };...
我照着《Linux程序设计这本书》写的进程间共享内存的程序,但是运行不正确,没有出现书上说的结果。程序如下。
// shm_com.h
const int TEXT_SZ = 64;
struct shared_use_st
{
int written_by_you;
char some_text[TEXT_SZ];
};
// shm1.cpp
#include
#include
#include
#include
#include
#include
#include
#include "shm_com.h"
using namespace std;
int main (void)
{
int running = 1;
void *shared_memory = (void *)0;
struct shared_use_st *shared_stuff;
int shmid;
srand ((unsigned int)getpid ());
shmid = shmget ((key_t)1234, sizeof(struct shared_use_st), 0666 | IPC_CREAT);
if (-1 == shmid)
{
cout
// shm_com.h
const int TEXT_SZ = 64;
struct shared_use_st
{
int written_by_you;
char some_text[TEXT_SZ];
};
// shm1.cpp
#include
#include
#include
#include
#include
#include
#include
#include "shm_com.h"
using namespace std;
int main (void)
{
int running = 1;
void *shared_memory = (void *)0;
struct shared_use_st *shared_stuff;
int shmid;
srand ((unsigned int)getpid ());
shmid = shmget ((key_t)1234, sizeof(struct shared_use_st), 0666 | IPC_CREAT);
if (-1 == shmid)
{
cout