2009-03-17 39 views
20

Khi chúng tôi biên dịch chương trình C, đầu ra được lưu trữ trong a.out. Làm thế nào chúng ta có thể chuyển hướng đầu ra đã biên dịch sang một tệp khác?Xác định tên thực thi C

+0

gcc -o source.c tên – EsmaeelE

Trả lời

19

-ofilename sẽ tạo filename thay vì a.out.

6

Theo hướng dẫn:

-o <file> Place the output into <file> 
trình biên dịch
23

Hầu hết C cung cấp tùy chọn -o cho điều này, chẳng hạn như:

gcc -o gentext gentext.c 
cc -o mainprog -Llib -lmymath firstbit.c secondbit.o 
xlc -o coredump coredump.c 
3

Trong Unix, trong đó C có nguồn gốc từ, mô-đun chương trình C thường được biên soạn -by-mô-đun, và sau đó các mô-đun được biên dịch được liên kết vào một tệp thực thi. Đối với một dự án mà bao gồm các module foo.cbar.c, các lệnh sẽ là như thế này:

cc -c foo.c 
cc -c bar.c 
cc -o myprog foo.o bar.o 

(Với -c, tên tập tin đầu ra trở thành các tập tin nguồn với hậu tố thay thế bằng .o.)

Điều này cho phép bạn cũng chỉ biên dịch lại những mô-đun đã thay đổi, đó có thể là một trình tiết kiệm thời gian lớn cho các chương trình lớn, nhưng cũng có thể trở nên khá phức tạp. (. Phần này thường được tự động sử dụng make)

Đối với một chương trình đơn mô-đun có không thực sự bất kỳ điểm nào trong biên dịch đầu tiên vào một tập tin .o, và sau đó liên kết, do đó, một lệnh duy nhất cũng đủ:

cc -o foo foo.c 

Đối với các chương trình đơn mô-đun, thông thường gọi chương trình thực thi kết quả giống như tệp nguồn C mà không có hậu tố .c. Đối với các chương trình đa mô-đun, không có tùy chỉnh cứng nào về việc đầu ra có được đặt tên theo tệp có chức năng chính hay không, vì vậy bạn có thể tự do phát minh ra bất kỳ điều gì gây chú ý ưa thích của bạn.

1

Compile sử dụng:

cc -o <opfilename> <filename.c> 

Execute sử dụng:

./<opfilename> 
Các vấn đề liên quan