почему clang++ ведет себя иначе, чем clang, поскольку первый является символьной ссылкой последнего?

У меня есть программа на C, которая пытается модифицировать константный строковый литерал. Как сейчас узнал, что это не разрешено.

Когда я компилирую код с помощью clang test.c, компилятор не выдает никаких предупреждений.Но когда я скомпилирую его с помощью clang++ test.c, он выдает предупреждение:

test.c :6 :15 :предупреждение :преобразование из строкового литерала в 'char *' устарело [-Wdeprecated -записываемые -строки] char *s = "привет мир"; ^

Проблема в том, что clang++— это просто символьная ссылка clang:

ll `which clang++`
lrwxr-xr-x  1 root  admin  5 Jan  1 12:34 /usr/bin/clang++@ -> clang

. Итак, мой вопрос: как clang++может вести себя иначе, чем clang, учитывая, что это символьная ссылка clang?

10
задан RockU 28 April 2012 в 00:58
поделиться