Я разрабатываю модуль ядра на CentOS с кодом Visual Studio. Вот фрагмент моего c_cpp_properties.json
. Я знаю, что это относится к моей версии ядра и дистрибутиву Linux, но, возможно, это укажет вам правильное направление. Я полагаю, что у меня также есть полный исходный код ядра и загружена отладка.
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include",
"/usr/local/include",
"/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include",
"/usr/src/kernels/3.10.0-1062.1.1.el7.x86_64/include",
"/usr/src/kernels/3.10.0-1062.1.1.el7.x86_64/arch/x86/include"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
Вот немного больше информации (о чем я думаю), каждый из которых указывает на:
/usr/include
Заголовокфайлы для компилятора C.
/usr/local/include
Заголовочные файлы для сторонних программ.
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include
Заголовочные файлы для GCC.
/usr/src/kernels/3.10.0-1062.1.1.el7.x86_64/include
Заголовочные файлы для конкретноговерсия ядра, которую вы используете. Убедитесь, что пакет kernel-devl установлен.
/usr/src/kernels/3.10.0-1062.1.1.el7.x86_64/arch/x86/include
Я почти уверен, что здесь представлены специфичные для архитектуры заголовочные файлы для ядра.
Это обеспечивает бесплатную ошибку (и скрытность)vscode для моей настройки.