Что такое «XX» в CXX в CMakeLists.txt файле cmakeLists.txt.
Каково его значение.Что такое «XX» в CXX в CMakeLists.txt файле cmakeLists.txt.
Почему это «XX» не PP против файла CPP?
Что такое «XX» в CXX в CMakeLists.txt файле cmakeLists.txt.
Каково его значение.Что такое «XX» в CXX в CMakeLists.txt файле cmakeLists.txt.
Почему это «XX» не PP против файла CPP?
XX
означает «++» (каждый X
является «плюсом», повернутым на 45 °), CXX
означает «C++».
Почему "CXX
"?
C++
» не представляется возможным из-за ограничений макро-идентификаторов (они не могут содержать +
);CPP
" (для "C Plus Plus"), как правило, уже используется стоять "CP повторного P rocessor".Например, в GNU Makefile вы можете определить следующие "переменные":
CPPFLAGS
: дополнительные флаги для препроцессора C (также используется в C++).CFLAGS
: дополнительные флаги для компилятора C.CXXFLAGS
: дополнительные флаги для компилятора C++.(Обычно вы будете использовать CPPFLAGS
и CFLAGS
для проекта C и CPPFLAGS
и CXXFLAGS
для проекта C++.)
Смотрите также Difference between CPPFLAGS and CXXFLAGS in GNU Make и CFLAGS vs CPPFLAGS.
Связанные с этим: Correct C++ file extension (и дубликаты ссылок).
Многие файловые системы не позволяют +
в именах файлов, поэтому ряд соглашений по именованию появились на C++ исходных файлов на протяжении многих лет, inlcuding .cpp
, .cc
и .cxx
.
У CMake аналогичная проблема, так как его макроязык построен вокруг строк, которые не имеют возможности удерживать специальные символы, такие как +
. Это просто ограничение, чтобы заставить синтаксический анализатор CMake становиться слишком сложным. Поэтому, когда они пишут CXX
, то, что они на самом деле означают, это всего лишь C++
.