ubuntu

Ubuntu下gcc编译多线程程序的步骤

小樊
93
2024-09-06 09:44:24
栏目: 智能运维

在Ubuntu下使用GCC编译多线程程序,需要遵循以下步骤:

  1. 首先,确保你的系统已经安装了GCC和pthread库。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install build-essential
  1. 创建一个名为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;
}
  1. 使用GCC编译器编译源文件。在终端中,导航到包含main.c的目录,然后运行以下命令:
gcc -o main main.c -lpthread

这将编译main.c文件,并链接pthread库(-lpthread选项)。编译后的可执行文件名为main

  1. 运行编译后的程序:
./main

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

0
看了该问题的人还看了