Linux 커널 (프로세스의 가상 주소 공간, 프로세스 상태 및 이와 같은 정보)에서 메모리 정보를 사용하는 C 코드를 작성하려고합니다.Linux 헤더 포함 반환 파일이나 디렉토리가 없습니다.
이 정보를 얻으려면 아래 헤더를 포함시켜야합니다.
#include<linux/init.h>
#include<linux/module.h>
#include<linux/mm.h>
실제 파일은 리눅스 폴더 아래에있는,하지만 난이 오류를 받고 있어요 왜
No such file or directory
누군가가 설명해 주실 것을 GCC를 사용하여 반환하는 파일을 컴파일 할 때! 무엇을해야합니까?
- 이미 커널 컴파일 및 설치 한 사용 가능한 모든 업데이트 (커널 버전 3.16.0)
'apt get'을 사용하여 설치하지 않으면'linux-headers-3.16.0'을 설치 했습니까? 또 다른 옵션은 헤더 파일 경로를 찾고'-I' 플래그를 사용하여'gcc '에서 컴파일 할 때 상대 경로를 포함하는 것입니다. – LethalProgrammer
* 실제 파일은 linux 폴더 아래에 존재합니다. * 컴파일러는'/ usr/include/linux'를보고 있지만 찾을 수는 없습니다. 어쩌면 다른 위치에 있을까요? 컴파일러가 어디에서 볼 수 있도록'-I [path of (parent of) linux folder] '를 추가하십시오! –
'gcc -I'를 사용하여 컴파일 된 헤더를 설치했습니다. 이제 치명적인 오류가 발생합니다 : uapi/linux/stddef.h : 파일이나 디렉토리가 없습니다. #include '내 코드에 그런 헤더를 포함시키지 않고있다. –