Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Lỗi 'a.out' không được nhận diện là lệnh trong C++

Sau khi biên dịch trên Linux terminal:

$ g++ helloworld.cpp

File a.out (tên mặc định của executable) sẽ được tạo trong thư mục hiện tại nếu biên dịch thành công. Kiểm tra:

$ ls -l a.out

Chạy chương trình

$ ./a.out

Lưu ý: Phải có ./ đầu tiên vì thư mục hiện tại thường không có trong PATH (khác Windows).

Nếu báo "Permission denied" hoặc "not executable"

Kiểm tra quyền file:

$ ls -l a.out
-rw-r--r-- 1 user user 8432 Jan 1 12:00 a.out

Thiếu quyền execute (chữ x). Cấp quyền:

$ chmod +x a.out

Có thể cần sudo nếu file thuộc root.

Đặt tên output tùy chỉnh (khuyên dùng)

Tránh nhầm lẫn a.out, hãy đặt tên rõ ràng:

$ g++ -o helloworld helloworld.cpp
$ ./helloworld

Troubleshooting thường gặp

Vấn đề Nguyên nhân / Giải pháp
command not found Quên ./ hoặc file không có quyền execute
No such file or directory Biên dịch thất bại (có lỗi compile) → không sinh a.out
Permission denied Chạy chmod +x a.out
Ký tự lạ khi chạy File không phải ELF executable (có thể biên dịch sai architecture)