У меня есть основная программа, которая сравнивает две строки:Почему strcmp неизвестен clang?
#include <string>
#include <iostream>
using namespace std;
int main (int argc, char *argv[]) {
if(strcmp (argv[0],"./test") != 0) {
cout << "not equal" << endl;
} else {
cout << "equal" << endl;
}
return 0;
}
он компилирует с GCC, но не с лязгом:
> clang -o test test_clang.cpp
test_clang.cpp:7:6: error: use of undeclared identifier 'strcmp'
if(strcmp (argv[0],"./test") != 0) {
^
1 error generated.
Почему не компилировать с лязгом?
EDIT: Люди становятся суровыми при переполнении стека, вплоть до того, что я не решаюсь отправить вопрос. Вышеприведенный вопрос имеет простой ответ, хорошо, но нормально ли голосовать на голосование (дважды в первую минуту!), Потому что у них есть простой, но не очевидный ответ?
У меня нет ни малейшего представления, почему люди отказались от этого. Это четко указано и действительный вопрос. – aschepler
«Этот вопрос не показывает никаких исследований». Первый хит в Google для «strcmp» имеет пример кода с '#include' (который также является допустимым решением). Минимальные исследования ответили бы на этот вопрос. Вот почему я отказался от этого. Тривиальные вопросы уменьшают ценность этого сайта. –
Создание минимального примера и сравнение результатов с двумя компиляторами - это исследовательская работа. – aschepler