Понимание флагов компиляции clang ++ по умолчанию - PullRequest
0 голосов
/ 31 октября 2019

Используя опцию -v, я пытаюсь понять флаги компиляции по умолчанию, используемые компилятором clang ++ при компиляции любого файла c ++. Ниже приведена выдержка из выходной команды при запуске команды: d:\mytesting\androidndk.16.1.14\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe -v -c s.cpp

Фактическая команда выполнена:

"d: \ mytesting \ androidndk.16.1.14 \ toolchains \llvm \ prebuilt \ windows-x86_64 \ bin \ clang ++. exe "-cc1-тройка x86_64-unknown-linux -emit-obj -mrelax-all -disable-free -disable-llvm-верификатор -discard-значение-names -main-имя-файла s.cpp -mrelocation-model статический -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-версия 2.24 -v -dwarf-column-info -debugger-tuning = gdb -coverage-notes-file "E: \ SMALLEL \ dev \ platformdk \ s.gcno" -resource-dir "d: \ mytesting \ androidndk.16.1. 14 \ toolchains \ llvm \ prebuilt \ windows-x86_64 \ lib64 \ clang \ 5.0.300080 "-internal-isystem / usr / local / include -internal-isystem" d: \ mytesting \ androidndk.16.1.14 \ toolchains \ llvm \prebuilt \ windows-x86_64 \ lib64 \ clang \ 5.0.300080 \ include "-internal-externc-isystem / include -internal-externc-isystem / usr / include -fdeprecated-macro -fdebug-compilation-dir "E: \ SMALLEL \ dev \ platformdk" -ferror-limit 19 -fmessage-length 237 -fobjc-runtime = gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-диагностика -o так -x c ++ s.cpp

Я понятия не имею о следующих флагах. Может ли кто-нибудь пролить свет на эти флаги

  1. -internal-isystem
  2. Какое точное местоположение он считает для /usr/local/include, аналогично для /include
  3. -internal-isystem
  4. -internal-externc-isystem
...