代码拉取完成,页面将自动刷新
/*the time server using shared memory */
#include<stdio.h>
#include<sys/shm.h>
#include<time.h>
#define TIME_MEM_KEY 99
#define SEG_SIZE ((size_t)100)
#define oops(m,x) {perror(m); exit(x);}
int seg_id;
void close_shm()
{
shmctl( seg_id, IPC_RMID, NULL);
}
int main()
{
int seg_id;
char *mem_ptr, *ctime();
long now;
int n;
signal( SIGINT, (void*) close_shm); //ctrl+c ź
seg_id = shmget(TIME_MEM_KEY, SEG_SIZE, IPC_CREAT|0777);
if ( seg_id == -1)
oops("shmget", 1);
mem_ptr = shmat( seg_id, NULL, 0);
if( mem_ptr == (void *) -1)
oops("shmat", 2);
for (n = 0; n < 60; n++)
{
time( &now );
strcpy(mem_ptr, ctime(&now));
sleep(1);
}
shmctl( seg_id, IPC_RMID, NULL);
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。