이 코드를 작성하여 posix 메시지 큐를 작성했습니다. 그러나 "기능이 구현되지 않았습니다."라는 오류 메시지가 나타납니다.posix 메시지 큐 구현 중 오류 - "함수가 구현되지 않았습니다."
Q1. 플랫폼 관련 문제입니까? [Ubuntu 10.10을 사용하고 있습니다] 메시지 대기열을 활성화하기 위해 커널을 재구 성할 필요가있는 곳을 읽었습니다!
2. 실제로 메시지 대기열을 사용하기 전에 mqueue 서버를 시작하는 방법에 대해서도 읽었습니까?
누군가가 설명해 주시겠습니까 ..
#include <mqueue.h> /* message queue stuff */
#include <iostream>
#include <unistd.h> /* for getopt() */
#include <errno.h> /* errno and perror */
#include <fcntl.h> /* O_flags */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main(int argc, char **argv)
{
mqd_t msgQueueDescriptor;
mq_attr attr;
char Msg[]="msg";
attr.mq_maxmsg = 10;
attr.mq_msgsize = sizeof(Msg);
attr.mq_flags = 0;
msgQueueDescriptor = mq_open("/myQueue", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH , attr);
cout << msgQueueDescriptor << " " << errno << " " << strerror(errno);
mq_close(msgQueueDescriptor);
return 0;
}
'mq_overview (7)'에 따르면, 커널을 빌드 할 때 기본적으로 POSIX 메시지 큐가 활성화되지만 우분투 패키지 관리자는이를 해제했을 수 있습니다. –
@larsmans 어떻게 확인할 수 있습니까? 이것이 우분투의 출시 노트의 일부가 될 것입니까? 그리고 정말로 꺼 졌을 때 어떻게 다시 켤 수 있습니까? –
우분투가 정말 이상한 것을 발견하면 우분투가 정말 이상하다고 생각합니다. fedora 15에서는 예제가 컴파일되고 성공적으로 연결됩니다. –