Linux 컴 파일 동적 링크 라 이브 러 리 및 사용

1.동적 링크 라 이브 러 리 를 컴 파일 하여 liba.c 와 libb.c 동적 라 이브 러 리 lib 로 컴 파일common.h
#ifndef __LIB_COMMON_H
#define __LIB_COMMON_H

void liba_printf();
void libb_printf();

#endif

lib_a.c
#include 
#include "lib_common.h"

void liba_printf(void)
{
    printf("This is lib a print.
"
); return; }

lib_b.c
#include 
#include "lib_common.h"

void libb_printf(void)
{
    printf("This is lib b print.
"
); return; }

위의 두 파일 을 동적 라 이브 러 리 로 컴 파일 합 니 다:gcc liba.c lib_b.c-fpIC-shared-o libtest.so 는 현재 디 렉 터 리 에서 라 이브 러 리 파일 libtest.so 를 생 성 합 니 다.
2.동적 링크 라 이브 러 리 파일 main.c 사용
#include 
#include "lib_common.h"

int main(void)
{
    printf("Main Func reference the lib fun.
"
); liba_printf(); libb_printf(); return 0; }

main.c 를 컴 파일 하 는 명령:gcc main.c-L.-ltest-o main(-L 뒤에 있 습 니 다.링크 라 이브 러 리 의 디 렉 터 리 가 현재 디 렉 터 리 임 을 표시 합 니 다.그렇지 않 으 면 컴 파일 이 Undefined symbols 오류 가 발생 합 니 다./main,출력:Main Func reference the lib fun.This is lib a print.This is lib b print.

좋은 웹페이지 즐겨찾기