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
Trả lời
-ofilename
sẽ tạo filename
thay vì a.out
.
Theo hướng dẫn:
-o <file> Place the output into <file>
trình biên dịch
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
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.c
và bar.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.
Compile sử dụng:
cc -o <opfilename> <filename.c>
Execute sử dụng:
./<opfilename>
- 1. Thực thi DynamicExpression với các loại không xác định
- 2. Dừng thực thi mã C#
- 3. trong Java: lập trình xác định địa chỉ của C/biến C++ cung cấp một COFF/ELF/lùn thực thi
- 4. Xác thực tên mạnh Không thành công
- 5. Cách lấy tên thực thi ứng dụng trong WindowsC++/CLI?
- 6. MSBuild thi hành xác thực HintPath
- 7. Eclipse + Maven: thực thi Môi trường thực thi "JavaSE-1.6" thay vì cố định JDK
- 8. C tiền xử lý xác định tên hàm được tạo
- 9. C++ 11 thực thi chuỗi constexpr
- 10. Làm thế nào để xác định một cửa sổ thực thi DLL phụ thuộc programatically?
- 11. Cách xác định tập lệnh nào đang được thực thi trong quy trình PHP-FPM
- 12. Kiểm tra tên/giá trị của đối số trong định nghĩa/thực thi hàm JavaScript
- 13. Có phải tên C++ mangling (trang trí) xác định?
- 14. tên loại không xác định trong mục tiêu c
- 15. Làm cách nào để xác định nền tảng nào mà tệp thực thi được biên dịch?
- 16. Nhận tên quy trình hiện tại (thực thi) trong Go?
- 17. Làm cách nào để xác định tên máy chủ để xác thực máy chủ của khách hàng bằng C#
- 18. Thực thi hoãn lại trong C#
- 19. System.Windows.Forms.SaveFileDialog không thực thi phần mở rộng mặc định
- 20. VBScript sẽ không thực thi chính xác từ tệp MSI
- 21. TênError: tên 'N_TOKENS' không được xác định
- 22. Nhận thực thi tên assembly từ DLL được tham chiếu trong C#
- 23. Thực thi tập tin thực thi từ C# Sự cố cấp phép
- 24. tên loại không xác định 'uint8_t', MinGW
- 25. cách xác thực tên miền quốc tế
- 26. Xác định xem tệp thực thi (hoặc thư viện) là 32 hoặc 64 bit
- 27. Làm cách nào để xác định xem tập lệnh python được thực thi từ crontab?
- 28. Loại gợi ý không được thực thi trong các nhà xây dựng không xác định
- 29. Không thể thực thi dex: Nhiều tệp dex xác định Lcom/actionbarsherlock/R $ attr
- 30. Gradle: FAILURE: Không thể xác định nhiệm vụ nào cần thực thi
gcc -o source.c tên – EsmaeelE