我已经看到了下面给出的两个makefile:

all: thread1 thread2 thread3

CFLAGS=-I/usr/include/nptl -D_REENTRANT
LDFLAGS=-L/usr/lib/nptl -lpthread

clean:
    rm -f thread1 thread2 thread3

######################

all: thread1 thread2 thread3

CFLAGS=-D_REENTRANT
LDFLAGS=-lpthread

clean:
    rm -f thread1 thread2 thread3

如果不使用makefile,用gcc编译thread1.c的正确命令行是什么?
GCC-O螺纹1
cflags=-i/usr/include/nptl
-可重入ldflags=-l/usr/lib/nptl-lpthread thread1.c

最佳答案

如果您的代码没有pthread以外的外部依赖项:

gcc thread1.c -o thread1 -D_REENTRANT -lpthread

Quote
定义可重入会导致编译器使用C库中多个函数的线程安全(即重入)版本。

关于c - 如何使用gcc编译多线程代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6587245/

10-13 09:19