在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
这将输出两条消息,分别来自两个线程。请注意,由于线程调度的不确定性,输出的顺序可能会有所不同。