짧은 질문

짧은 질문

짧은 질문

gcc -m32 -c file.c -o file.o -Llib -llibname명령을 사용하여 32비트 공유 라이브러리( .so파일)를 32비트 실행 파일에 연결 하려고 합니다 . 하지만 라이브러리는 추가되지 않은 것 같습니다.

긴 질문

32비트 커널을 만들었고 이제 커널용 라이브러리를 만들었으며 내 라이브러리를 커널에 연결하고 싶습니다.

명령어를 사용해 보았습니다 gcc -m32 -nostdlib -nostdinc -fno-builtin -c kernel/kernel.c -o kernel/kernel.o -Llib -lkernel. 하지만 라이브러리는 추가되지 않은 것 같습니다.

( kernel/kernel.c내 커널 C 파일이자 lib/libkernel.so라이브러리 .so파일입니다. .so명령을 사용하여 파일을 만들었습니다 gcc -m32 -nostdlib -nostdinc -fno-builtin -fPIC -shared lib/libkernel/printf.c -o lib/libkernel.so.)

답변1

정적 라이브러리(예 ar rcs libname.a lib.o: )를 생성하고 이를 연결해야 합니다(예: ld -melf_i386 -Llib -lname).

관련 정보