在Ubuntu下使用GCC編譯多線程程序,需要遵循以下步驟:
sudo apt-get update
sudo apt-get install build-essential
main.c
的C源文件,并在其中編寫多線程程序。例如:#include<stdio.h>
#include <stdlib.h>
#include <pthread.h>
void* print_message(void* ptr) {
char* message;
message = (char*) ptr;
printf("%s\n", message);
return NULL;
}
int main() {
pthread_t thread1, thread2;
char* message1 = "Thread 1";
char* message2 = "Thread 2";
int rc1, rc2;
rc1 = pthread_create(&thread1, NULL, print_message, (void*) message1);
rc2 = pthread_create(&thread2, NULL, print_message, (void*) message2);
if (rc1 || rc2) {
printf("Error: unable to create threads\n");
exit(-1);
}
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
main.c
的目錄,然后運行以下命令:gcc -o main main.c -lpthread
這將編譯main.c
文件,并鏈接pthread庫(-lpthread
選項)。編譯后的可執行文件名為main
。
./main
這將輸出兩條消息,分別來自兩個線程。請注意,由于線程調度的不確定性,輸出的順序可能會有所不同。