Nếu bạn có một chương trình C đơn giản, giống nhưChạy bước gcc bằng tay, biên soạn, lắp ráp, liên kết
int main(void) {return 0;}
Nó có thể được biên soạn với gcc -o test test.c
.
Như tôi đã hiểu, gcc thực hiện biên dịch, lắp ráp rồi liên kết. Hai bước sau có thể đạt được bằng cách chạy as
và ld
.
Tôi có thể tạo mã lắp ráp bằng cách sử dụng gcc -S test.c
.
Bạn sẽ nhập gì vào thiết bị đầu cuối, để chuyển đổi mã lắp ráp thành một tệp thực thi?
(lý do để làm như vậy là để học lắp ráp)
Thực ra nó thực hiện tiền xử lý trước, sau đó biên dịch, sau đó lắp ráp và sau đó liên kết. Tiền xử lý có thể là một phần không thuận lợi của quá trình, đặc biệt nếu bạn sử dụng Boost ... –
Bạn có thể sử dụng tham số '-v' để xem cách GCC gọi các chương trình con của nó, ví dụ: 'gcc -o test test.c -v' – mizo