#include <stdio.h>
#include <stdlib.h> /* to allow use of function: atoi() */
#include "process.h"
#include <string.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/wait.h>
#include <errno.h>
#include <stdint.h>
int main(int argc, char *argv[])
{
size_t size;
int ShmID;
int *ShmPTR;
pid_t pid;
int status;
if (argc != 5)
{
printf("Use: %s #1 #2 #3 #4\n", argv[0]);
exit(1);
}
ShmID = shmget(IPC_PRIVATE, 4*sizeof(int), IPC_CREAT|0666);
if (ShmID < 0)
{
perror("shmget");
printf("*** shmget error (server) ***\n");
printf("\nPrint: %d",ShmID);
printf("\nPrint: %d",errno);
exit(1);
}
else
{
printf("%s","\nsuccess\n");
printf("\n%d\n", ShmID);
}
return NOERRORS;
}
NetBeans中的输出:
shmget:函数未实现 * shmget错误(服务器)*
打印:-1
打印:88
RUN FAILED(退出值1,总时间:94ms)
当我通过putty在终端编译代码时,它正常运行,shmget()
没有返回-1
。 Netbeans中的perror()
消息称&#34;功能未实现。&#34;是什么造成的?我刚刚重新安装了C编译器,Make,GDB和C ++编译器,但没有修复。
答案 0 :(得分:0)
我设法找到了解决问题的方法。以下是一些可以轻松遵循的步骤:
libxcb-shm-devel:X Protoco C语言绑定(shm开发)
libxcb-shm0:X Protoco C语言绑定(shm运行时)
cygrunsrv:NT / W2k服务发起人
cygrunsrv-debuginfo:cygrunsrv的调试信息
的/ usr /斌/ cygserver-配置