Tôi đang sử dụng Linux Ubuntu Intrepid Ibex và biên dịch các tệp C++ với GCC, nhưng khi tôi biên dịch, gcc tạo tệp **. Out *, đó là tệp thực thi, nhưng làm thế nào tôi có thể tạo Linux thực thi? Cảm ơn!Xây dựng một Linux thực thi bằng cách sử dụng GCC
Trả lời
Tệp thực thi đó là "Linux thực thi" - nghĩa là, nó có thể thực thi trên bất kỳ hệ thống Linux nào gần đây. Bạn có thể đổi tên các tập tin vào những gì bạn muốn sử dụng
rename a.out your-executable-name
hoặc tốt hơn nữa, nói với GCC nơi để đặt tập tin đầu ra của nó sử dụng
gcc -o your-executable-name your-source-file.c
Hãy ghi nhớ rằng trước khi các hệ thống Linux sẽ cho phép bạn chạy các tập tin , bạn có thể cần phải thiết lập "bit thực thi" của nó:
chmod +x your-executable-name
Cũng nên nhớ rằng trên Linux, phần mở rộng của tập tin có rất ít để làm với những gì nó thực sự là - thực thi của bạn có thể được đặt tên là something
, something.out
, hoặc thậm chí something.exe
, và miễn là nó được sản xuất bởi GCC và bạn làm chmod +x
trên tệp, bạn có thể chạy nó dưới dạng tệp thực thi Linux.
Đó là tệp thực thi. Nếu bạn không thích a.out, bạn có thể chuyển cờ -o tới trình biên dịch. Nếu tệp thực thi không được đánh dấu bằng bit thực thi, bạn cần phải tự làm như vậy:
chmod u+x ./a.out
./a.out
HTH.
Tệp * .out đã là một tệp thực thi, nhưng làm thế nào tôi có thể xây dựng một tệp thực thi Linux gốc, các tệp thi hành gốc của Linux không có phần mở rộng. –
Trong linux, các phần mở rộng không quan trọng. Bạn chỉ có thể đổi tên tệp thành bất kỳ thứ gì bạn thích. – notnoop
Khi vấn đề là sự chấp thuận tôi biết. Cảm ơn! –
Để tạo một thực thi gọi là myprog
bạn có thể gọi gcc như thế này:
gcc -c -o myprog something.c
Bạn cũng có thể chỉ đổi tên file * .out gcc tạo đến tên bạn muốn.
Sự khác nhau giữa bạn giữa tệp thực thi và một tệp thực thi Linux là gì? – Ben
bạn có thể làm rõ? Các tệp '* .out' là các tệp thực thi. Bạn có cần một loại thực thi khác không? – notnoop
Nathan, tên 'a.out' là một tạo tác lịch sử, từ các trình biên dịch Unix sớm nhất. Xem bài viết Wikipedia về chủ đề: http://en.wikipedia.org/wiki/A.out – quark