在Linux下,編譯一個多線程的程序命令為:
gcc -lpthread -o file file.c
在Linux下,用交叉編譯器編譯一個在ucLinux下運行的多線程程序,makefile文件如下:
CFLAGS = -Wall -Os -DLinux -D__linux__ -Dunix -D__uCLinux__ -DEMBED
LDFLAGS =-Wl,-elf2flt
LOCAL_LIBS = /usr/local/arm-elf/lib/libpthread.a
CC = arm-elf-gcc
LD = arm-elf-gcc
TARGT = test
OBJ = $(TARGT).o
SRC = $(TARGT).c
all: $(TARGT)
%.o:%.c
$(CC) $(CFLAGS) -c $< -o $@
$(TARGT) :$(OBJ) $(LOCAL_LIBS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LOCAL_LIBS) $(LDLIBS)
clean:
-rm -f $(EXEC) *.elf *.gdb *.o