Я нашел формулу, которая работает с командой cpp
: try cpp -xc++
(обратите внимание на отсутствие пробелов между -x
и c++
).
$ printf '/* block comment */\n// line comment\nnot a comment\n' | cpp -xc++
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
not a comment
контраст:
$ printf '/* block comment */\n// line comment\nnot a comment\n' | cpp -x c++
i686-apple-darwin10-gcc-4.2.1: c: No such file or directory
i686-apple-darwin10-gcc-4.2.1: c++: No such file or directory
i686-apple-darwin10-gcc-4.2.1: warning: '-x -x' after last input file has no effect
i686-apple-darwin10-gcc-4.2.1: no input files
Теперь '-x c++
' ПРЕДПОЛАГАЕТСЯ для работы, и он работает на моем Linux-компьютере (с gcc 4.4, но я помню, что он работал так же давно, как gcc 2.95), поэтому кажется, что Apple сломала его.
Я действительно должен еще раз подчеркнуть важность предоставления полного и точного контрольного примера для подобных вопросов.Вчера мне не пришло в голову, что Apple представила ошибку, потому что я знаю, что ответ wilx должен был бы сработать , и в отсутствие точного описания того, что пытался пользователь OP, это было далеко.более вероятно, что у них было что-то еще в их фактической командной строке, которая сводила это на нет.Если бы командная строка и сообщения об ошибках, которые я показываю выше, были представлены в исходном вопросе, это было бы намного эффективнее для всех.