Tạo và chạy tệp “.a” Linux

Tao Va Chay Tep A Linux



Làm việc với các tệp trong hệ điều hành Linux đòi hỏi sự tham gia của nhiều lệnh và kỹ thuật khác nhau cho phép nhà phát triển tạo và thực thi các tệp, mã, chương trình, tập lệnh và những thứ khác một cách hiệu quả. Trong môi trường Linux, các tệp có phần mở rộng “.a” có tầm quan trọng đáng kể như các thư viện tĩnh. Các thư viện này đóng vai trò quan trọng trong việc phát triển phần mềm, cho phép các nhà phát triển quản lý và chia sẻ hiệu quả các chức năng chung với nhiều chương trình.

Hiểu cách tạo và chạy tệp “.a” là rất quan trọng để phát triển phần mềm hiệu quả trong môi trường Linux. Đây là hướng dẫn toàn diện để cài đặt và định cấu hình tệp “.a” Linux. Hãy cùng khám phá tệp “.a” Linux là gì, khám phá mục đích, cấu trúc của nó cũng như cách tạo và thực thi nó.

Tệp “.a” trong Linux là gì?

Tệp “.a” Linux là một tệp lưu trữ đóng vai trò là nơi chứa mã và dữ liệu được biên dịch. Nó thường được biết đến như một thư viện tĩnh chứa các mã được liên kết với mã gọi điện tại thời điểm biên dịch, mã này trở thành một phần cơ bản của ứng dụng. Các tệp “.a” Linux này cung cấp đóng góp cơ bản, được biên dịch trước cho ứng dụng, hoàn toàn tương phản với các tệp thư viện động “.so” của Linux nơi liên kết xảy ra trong thời gian chạy.







Chúng ta hãy tưởng tượng một kịch bản trong đó một nhà phát triển triển khai ba chương trình khác nhau. Biết rằng chức năng chung giữa các chương trình này tồn tại, lập trình viên sẽ tạo một thư viện gói gọn các tính năng chung này và được trình bày dưới dạng tệp “.a”. Tin quan trọng cần biết vào thời điểm này là các tệp “.a” Linux trở thành một tập hợp mã và dữ liệu có thể tái sử dụng mà các nhà phát triển khác có thể sử dụng trong dự án của họ.



Điều kiện tiên quyết:

Trước khi chuyển sang tìm hiểu cách tạo và chạy tệp “.a” trong Linux, điều quan trọng là bạn phải biết một số điều cơ bản. Có một số điều kiện tiên quyết cần được đảm bảo trước khi thực hiện một chức năng trong Linux. Chúng như sau:



  • Ubuntu 20.04 hoặc bất kỳ phiên bản mới nhất nào
  • Truy cập vào dòng lệnh hoặc cửa sổ terminal
  • Tài khoản người dùng, cụ thể là các đặc quyền sudo, cho các tệp và thư mục khác nhau

Làm cách nào để bạn tạo và chạy tệp “.a” Linux?

Việc tạo và chạy tệp “.a” Linux bao gồm một loạt các bước: tạo, biên dịch và thực thi. Có thể sử dụng nhiều cách khác nhau để thực hiện những hành động này và chúng ta sẽ khám phá từng hành động riêng lẻ. Chúng ta hãy bắt đầu.





Bạn cần một trình biên dịch GCC để chạy và thực thi ví dụ sau. Trình biên dịch được sử dụng để chạy tất cả các lệnh tạo và chạy tệp “.a” Linux:



Sau đây là các bước được giải thích thông qua các lệnh và kỹ thuật khác nhau.

Bước 1: Biên dịch tệp nguồn C

Bắt đầu công việc bằng cách tạo tệp nguồn của C bằng trình biên dịch GCC để biên dịch tệp nguồn C (.c) thành tệp đối tượng (.o) bằng lệnh sau:

$ gcc -Tường -c * .c

Cờ “-Wall” cho phép tất cả các cảnh báo và cờ “-c” chỉ yêu cầu GCC biên dịch chứ không yêu cầu liên kết tại thời điểm này.

Bước 2: Tạo kho lưu trữ thư viện

Bước tiếp theo là tạo tập tin thư viện. Lệnh “ar” tạo kho lưu trữ thư viện tĩnh (.a) từ các tệp đối tượng. Do đó, chúng tôi sử dụng lệnh sau:

$ Với -cvq libfile.a * .O

Lệnh này tạo một tệp lưu trữ tĩnh có tên “libfile.a” bằng cách kết hợp các tệp đối tượng khác nhau có phần mở rộng “.o” bằng lệnh “ar” (lưu trữ) trong hệ điều hành Linux. Lệnh này có ba điều cần lưu ý: “c”, “v” và “q”. Hãy chia nhỏ các thành phần và hiểu mục đích của từng cờ và đối số trong ngữ cảnh của lệnh này:

ar: Nó thực hiện lệnh lưu trữ trong hệ thống Linux. Chức năng cơ bản của lệnh “ar” là tạo, sửa đổi và trích xuất từ ​​kho lưu trữ.

-c: Cờ này hướng dẫn tạo một kho lưu trữ mới nếu nó chưa được tạo hoặc chưa tồn tại. Nếu tệp lưu trữ có tên đã cho tồn tại, cờ “-c” đảm bảo tệp đó được tạo lại, thay thế mọi nội dung trước đó.

-v: Cờ chi tiết hiển thị thông tin chi tiết về quá trình lưu trữ. Nó cung cấp phản hồi về những tập tin nào đang được thêm vào kho lưu trữ.

-q: “q” là viết tắt của “chắp thêm nhanh chóng”. Nó yêu cầu cờ “ar” nhanh chóng nối thêm các tệp được chỉ định vào kho lưu trữ mà không cần kiểm tra các ký hiệu trùng lặp hoặc các thao tác tốn thời gian.

libfile.a: Tên tệp là bắt buộc đối với lệnh sẽ được tạo hoặc sửa đổi. Ở đây, chúng tôi đặt tên tệp là “libfile” với phần mở rộng “.a” cho biết rằng đó là tệp lưu trữ thư viện tĩnh.

*.o: Dấu “*” ở cuối lệnh biểu thị mỗi tệp trong thư mục đã chọn có phần mở rộng “.o” đề cập đến các tệp đối tượng. Các tệp đối tượng là kết quả của quá trình biên dịch mã nguồn và chứa mã máy chưa được liên kết với bất kỳ tệp thực thi cuối cùng nào.

Bước 3: Xem nội dung thư viện

Bây giờ chúng ta đã tạo kho lưu trữ thư viện, chúng ta có thể xem nó bằng lệnh “ar –t”. Lệnh “ar –t” liệt kê tất cả nội dung có trong thư viện.

$ Với -t libfile.a

Lệnh “ar -t libfile.a” liệt kê tất cả các tệp đối tượng có trong tệp lưu trữ thư viện tĩnh có tên “libfile.a” bằng cách sử dụng lệnh “ar” trong hệ điều hành Linux. Hãy phân tích từng lá cờ và chức năng của chúng:

ar: Như đã đề cập trước đây, đây là lệnh lưu trữ trong hệ thống Linux.

-t: Cờ “-t” được sử dụng để hiển thị mục lục của kho lưu trữ, hiển thị tên của các tệp đối tượng được lưu trữ trong “libfile.a.”

libfile.a: Để đọc dữ liệu, chúng ta cần biết tên của tệp lưu trữ.

Bước 4: Sử dụng Thư viện trong Chương trình Khác

Bây giờ chúng ta hãy xem cách sử dụng tệp “.a” Linux mới được phát triển trong một chương trình khác. Vì chúng tôi đã tạo một thư viện nên giờ đây nó có thể được sử dụng ở mọi nơi và trong bất kỳ chương trình nào chỉ bằng cách thêm thư viện vào lệnh biên dịch. Chúng ta có thể thực hiện nó với sự trợ giúp của lệnh tiếp theo. Nó bao gồm tất cả các tiêu đề và liên kết cần thiết của thư viện.

$ gcc -O MyProgramMain.c -L con đường / ĐẾN / lib là -lfile

Trong lệnh này, “-L” chỉ định đường dẫn thư viện, liên kết “-lfile” với libfile “library.a”, loại bỏ tiền tố “lib” và hậu tố “.a”.

Bước 5: Chạy tệp Linux “.a”

Cuối cùng, chúng ta có thể chạy tệp “.a”. Kết quả được hiển thị cho bạn ngay lập tức khi chạy tập lệnh sau trong thiết bị đầu cuối của bạn:

$ . / Chương trình của tôiChính

Lệnh này thực thi tệp, sử dụng các chức năng được cung cấp trong cả tệp nguồn và thư viện tĩnh được liên kết.

Phần kết luận

Việc tạo và chạy tệp “.a” trong Linux yêu cầu biên dịch các lệnh khác nhau để thực hiện việc tạo, biên dịch và liên kết tệp. Việc hiểu các bước này và chức năng hoạt động của từng lệnh cho phép các nhà phát triển sắp xếp mã của họ, sử dụng các thư viện bên ngoài và phát triển các chương trình có thể mở rộng. Cho dù bạn cần sử dụng các lệnh cơ bản như nano và GCC hay bạn sắp làm việc với các kỹ thuật nâng cao hơn với các thư viện tĩnh, việc thành thạo các kỹ năng này sẽ giúp ích cho việc phát triển dựa trên Linux thực tế.