Làm thế nào để biên dịch chương trình ac sử dụng pthread.h?


14

Tôi là người mới bắt đầu và tôi chưa quen với Ubuntu. Tôi chỉ cần cài đặt nó và muốn chạy một chương trình C. Tôi không biết nên sử dụng nền tảng nào hoặc viết mã ở đâu. Tôi cần sử dụng tệp tiêu đề pthread.h trong chương trình. Ai giúp tôi với?


Câu trả lời:


21

Sử dụng:

gcc MyProgram.c -o MyProgram -lpthread 

và đừng quên bao gồm thư viện POSIX trong mã của bạn. Nó sẽ biên dịch mã của bạn.


2
theo mặc định GCC không bao gồm thư viện pthread. vì vậy bạn phải bao gồm thư viện bằng cách sử dụng đối số lpthread.
Parthiv Shah

Cũng lưu ý rằng trong gcc-4.8 không có -lpthreadđối số trong man gcc. Nhưng có một -pthreadcuộc tranh cãi. Cả hai đều hoạt động tốt trên Ubuntu 14.04 với gcc-4.8.
Elijah Lynn

1

Nếu bạn đang đi để biên dịch một chương trình C với pthread.h trong LINUX sử dụng GCC hoặc G ++ bạn sẽ phải sử dụng -lpthread tùy chọn sau khi lệnh biên dịch.

gcc xyz.c -o xyz -lpthread

Đây,

gcc là lệnh biên dịch (tên trình biên dịch)
xyz.c là tên tệp nguồn.
-o là một tùy chọn để tạo tập tin objcect.
xyz là tên của tệp đối tượng (nhị phân).
-lpthread là một tùy chọn cho pthread.h

để biết thêm chi tiết ở đây là liên kết hoàn thành bài viết về nó.
Biên dịch chương trình C với pthread.h trong Linux.


0

Điều đầu tiên bạn sẽ cần trong Ubuntu để biên dịch các chương trình C / C ++ là cài đặt GCC (Bộ sưu tập trình biên dịch Gnu) là một phần của build-essentialgói, thực hiện điều đó bằng cách chạy:

sudo apt-get install build-essential

Sau đó, bạn có thể kiểm tra nếu bạn đã cài đặt nó bằng cách chạy gcc. Nếu bạn thấy lỗi như Fatal error: file not provided(không chắc chắn thông báo lỗi chính xác, nhưng phải là một cái gì đó tương tự), điều đó có nghĩa là bạn đã sẵn sàng trình biên dịch.

Và để chỉnh sửa Mã của bạn, bạn có thể sử dụng Gedit đã có sẵn , chỉ cần tìm kiếm nó trong Dash.

Bây giờ sau đây là cú pháp để biên dịch tệp nguồn C của bạn, hãy chạy theo nơi tệp của bạn là:

gcc MyProgram.c -o MyProgram

Trong đó, chuyển đổi -olà tùy chọn, nhưng được cung cấp để đề cập đến tên của tệp nhị phân cần được tạo ra từ nguồn của bạn.

Sau đó, chỉ cần chạy ./MyProgramđể chạy nhị phân của bạn.

Lưu ý rằng pthread.hnhư bạn đã đề cập (Chủ đề POSIX) nên có sẵn theo mặc định với GCC, do đó, chỉ cần đưa nó vào tệp C của bạn sẽ thực hiện công việc đó, trong trường hợp không có sẵn, một tìm kiếm Google đơn giản sẽ giúp ích. ;)

Cập nhật

Quá lâu, không đọc? kiểm tra này . : D


0

Nếu nó báo lỗi, bạn có thể thử cùng một lệnh bằng cách hoán đổi các tham số như

gcc -lpthread -o output_file program_pthread.c

sau đó ./output_filecung cấp đầu ra cho chương trình và đây program_pthread.clà chương trình pthread bạn đã thực hiện.


0

Đối với chương trình C ++:

g++ -std=c++11 Myprogram.cpp -o MyProgramTest -lpthread
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.