__USE_POSIX 및 WSL 배포판의 VS Code

__USE_POSIX 및 WSL 배포판의 VS Code

저는 C를 배우고 있으며 보통 코딩을 위해 Ubuntu에서 VS Code를 사용합니다. 다른 작업이 많이 수행되는 Windows로 학습 자료를 마이그레이션하려고 하므로 WSL 2와 해당 배포판인 Ubuntu 18.04 LTS를 설치했습니다. WSL과 함께 사용할 Windows용 VS Code 및 해당 원격 확장을 설치한 후 VS Code에서 새 WSL 세션을 시작하고 IntelliSense를 사용하여 C/C++ 확장을 설치한 다음 아래에 표시된 것처럼 간단한 프로그램을 작성했습니다.

#include <signal.h>

int main()
{
    kill(-1, SIGKILL);
}

VS Code의 문제점은 프로그램이 컴파일될 때 IntelliSense가 헤더 kill의 함수를 감지할 수 없다는 것입니다 signal.h. 헤더 파일을 추가로 조사한 결과 다음 섹션이 어두워지는 것을 발견했습니다.

#ifdef __USE_POSIX
extern int kill (__pid_t __pid, int __sig) __THROW;
#endif /* Use POSIX.  */

및 기타 __USE_POSIX부품을 포함하되 이에 국한되지 않고 검사 되었습니다 siginfo_t.struct sigaction

IntelliSense 도움말을 활성화하기 위해 VS Code가 이러한 매크로/변수를 인식하도록 하는 방법이 있습니까?

답변1

관련 헤더를 포함할 위치를 위에 추가 할 수 있습니다 #define __USE_POSIX. 또는 이를 컴파일러 인수로 정의하려는 경우(플래그 -D나 CMake 또는 기타 수단을 통해) 파일에서 .vscode/c_cpp_properties.json사용할 플래그를 지정할 수 있습니다. 예:

"configurations": [{
   "defines":["__USE_POSIX"]
}]

바라보다https://github.com/Microsoft/vscode-cpptools/issues/304이 기능에 대한 추가 정보.

관련 정보