로버트 러브 (Robert Love)의 저서 "Linux system programming 2nd edition"에서 폴링 시스템 호출에 대한 예제를 시도하고 있습니다. 60-61). 나는 예제 코드를 code :: blocks에 복사하여 우분투 14.04에 복사하고 컴파일하려고했지만 '/ 342'/ '210'과 '/ 222'와 같은 오류를 내 코드에 넣는다. Linux 시스템 호출에서 ' 342'이탈로 인한 ' 210'이탈 ' 210'C 시스템 프로그램에서의 오류
다음
코드입니다 : 그것은 경우 (RET == -1) 체크 라인 (18)에 오류가 발생#include <stdio.h>
#include <unistd.h>
#include <poll.h>
#define TIMEOUT 5
/* poll timeout, in seconds */
int main (void)
{
struct pollfd fds[2];
int ret;
/* watch stdin for input */
fds[0].fd = STDIN_FILENO;
fds[0].events = POLLIN;
/* watch stdout for ability to write (almost always true) */
fds[1].fd = STDOUT_FILENO;
fds[1].events = POLLOUT;
/* All set, block! */
ret = poll(fds,2,TIMEOUT*1000);
if (ret == −1) {
perror("poll");
return 1;
}
if (!ret) {
printf ("%d seconds elapsed.\n", TIMEOUT);
return 0;
}
if (fds[0].revents & POLLIN)
printf ("stdin is readable\n");
if (fds[1].revents & POLLOUT)
printf ("stdout is writable\n");
return 0;
}
오류는 다음과 같습니다
/home/eelab/sysprog/pollex/main.c|18| error: stray ‘\342’ in program|
/home/eelab/sysprog/pollex/main.c|18| error: stray ‘\210’ in program|
/home/eelab/sysprog/pollex/main.c|18| error: stray ‘\222’ in program|
지금, 나는 갔어요 stackoverflow에 대한 비슷한 질문을 통해 그들은 ""따옴표와 같은 ASCII 문자를 변환 할 때 발생할 수있는 문제를 언급합니다. 그러나, 나는 다시 IDE에서 모든 따옴표를 다시 작성했습니다.하지만 if (ret == -1) 행을 확인한 행에는 여전히 동일한 오류가 발생합니다. 도와주세요.
과의 정말 중복 – userXktape