【发布时间】:2018-04-04 07:58:14
【问题描述】:
是否可以在不使用 libc 的情况下在 Linux 上构建共享对象文件?我尝试使用 -nostdlib 构建共享对象,它抱怨内置函数“memset”的类型存在冲突(我在尝试构建的共享对象中定义了我自己的函数版本)。
我没有使用共享对象文件中的任何 libc 函数。我正在按如下方式构建共享对象:-
CC = gcc
CFLAGS = -Wall -Wextra -Werror -nostdlib
OUTPUTDIR = ./build
test: outputdir
$(CC) $(CFLAGS) -c -fPIC test.c -o ${OUTPUTDIR}/test.o
$(CC) $(CFLAGS) ${OUTPUTDIR}/test.o -shared -o ${OUTPUTDIR}/libtest.so
outputdir:
mkdir -p ${OUTPUTDIR}
clean:
rm -rf ${OUTPUTDIR}
【问题讨论】:
标签: linux gcc shared-libraries libc shared-objects