Я хочу подключить несколько процессов к общей памяти в Windows.Легко использовать shmctl
в компиляторе GCC с использованием библиотеки pthread.
Я хотел бы узнать об эквивалентной функции для shmctl
в компиляторе Visual C ++.
struct shmid_ds {
struct ipc_perm shm_perm; /* Ownership and permissions */
size_t shm_segsz; /* Size of segment (bytes) */
time_t shm_atime; /* Last attach time */
time_t shm_dtime; /* Last detach time */
time_t shm_ctime; /* Last change time */
pid_t shm_cpid; /* PID of creator */
pid_t shm_lpid; /* PID of last shmat(2)/shmdt(2) */
shmatt_t shm_nattch; /* No. of current attaches */
...
};
int count_attached_process(s_sem shmid)
{
int count;
struct shmid_ds shmid_ds;
shmctl(shmid, IPC_STAT, &shmid_ds);
count = shmid_ds.shm_nattch;
return count;
}
Не могли бы вы помочь?я?