tôi có một chương trình cơ bản mà so sánh hai chuỗi:Tại sao strcmp không biết kêu vang?
#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;
}
nó biên dịch với gcc nhưng không phải với kêu vang:
> 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.
Tại sao nó không biên dịch với kêu vang?
CHỈNH SỬA: Mọi người đang nhận được khắc nghiệt trên tràn ngăn xếp, đến mức tôi đang do dự để đăng câu hỏi. Câu hỏi trên có một câu trả lời đơn giản, tốt, nhưng có bình thường với các câu hỏi bỏ phiếu xuống (hai lần trong phút đầu tiên!) Bởi vì họ có câu trả lời đơn giản, nhưng không rõ ràng?
Tôi không biết tại sao mọi người lại bỏ phiếu này. Nó được tuyên bố rõ ràng và một câu hỏi hợp lệ. – aschepler
"Câu hỏi này không hiển thị bất kỳ nỗ lực nghiên cứu nào". Lần truy cập đầu tiên trong Google cho "strcmp" có ví dụ mã với '#include' (cũng là một giải pháp hợp lệ). Nghiên cứu tối thiểu sẽ trả lời câu hỏi này. Đó là lý do tại sao tôi downvoted nó. Các câu hỏi nhỏ nhặt làm giảm giá trị của trang web này. –
Làm một ví dụ tối thiểu và so sánh kết quả trên hai trình biên dịch là nỗ lực nghiên cứu. – aschepler