error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode

김펭귄·2024년 10월 1일
0
post-thumbnail

에러 발생 경위

linux 커널 system call을 새로 만드는 과정에서 에러가 발생했다.
정확히는 새로 추가한 system call의 source code 파일에서 에러가 발생.

해결방법

for문 안에서의 초기 변수 선언(int i = top;)이 문제였다.
즉, 초기변수 선언은 코드 가장 윗부분에 해주어야 한다는 것.
간단히 다음과 같이 해결할 수 있다.

SYSCALL_DEFINEX(...) {
	int i;
    for (i = top; i >= 0; i++)
	...
}
profile
반갑습니다

0개의 댓글