gpt4 book ai didi

C 代码多线程 'pthread_create' 未声明

转载 作者:行者123 更新时间:2023-11-30 16:09:40 25 4
gpt4 key购买 nike

所以我正在创建一个需要使用多线程的基本 C 程序。我只是尝试在一个非常简单的示例中应用代码,但它始终因相同的错误而失败。有谁知道为什么? (我意识到这段代码的功能没有用,只是想知道它为什么失败。)

/* DriverLib Includes */
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>

/* Standard Includes */
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int x = 0; //

void *loop_2() {
while(1){
Serial.println("Running from thread ...");
delay(5000);
}

}

// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600); // msp430g2231 must use 4800
pthread_t thread;
pthread_create(&thread, NULL, loop_2, NULL);
}

// the loop routine runs over and over again forever:
void loop() {
Serial.println(x);
delay(5000);

}
}
}

错误:

Error: 'pthread_create' was not declared in this scope.

最佳答案

Does anyone know why?

您没有说明您在哪个平台上构建此代码。某些平台默认情况下不是多线程的,需要特殊的编译和链接标志。

如果使用 GCC,则使用的标志通常是 -pthread

其他编译器可能在编译时需要 -D_REENTRANT 并在链接时需要 -lpthread

关于C 代码多线程 'pthread_create' 未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59083070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com