中には、かなりおかしなコンパイラもあります。たとえば TI の DSP コンパイラチェーンは、VS Code のサポートもあまり良くないうえに、変わったキーワードがあります。
そうしたプロジェクトを VS Code で編集すると、セマンティック解析が大きく妨げられます。過去に解決したことがあるのに、今日また忘れてしまいました。
良い方法は、C/C++ 拡張機能の define に、それらのキーワードを空の define として追加することです。以下は、interrupt キーワードの実践例です。空定義にするには、末尾に等号を付ける必要があります。
JSON
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${default}",
"${workspaceFolder}/**"
],
"defines": [
"__GNUC__",
"_DEBUG",
"UNICODE",
"_UNICODE",
"interrupt="
],
"compilerPath": "C:/111_APPS/MSYS2/mingw64/bin/gcc.exe",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "windows-gcc-arm",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
VS Code の C/C++ セマンティック解析で認識できないキーワードを無視させる