동적 링크 라 이브 러 리 를 g++로 컴 파일 합 니 다.

1931 단어 C/C++
가장 간단 한 동적 링크 라 이브 러 리 프로그램 을 썼 습 니 다.g+명령 행 으로 컴 파일 합 니 다.나중에 잊 어 버 릴 까 봐 블 로그 에 적어 두 세 요.
동적 라 이브 러 리 내 보 내기 헤더 파일:
/**
  * file: dll.h
  * Powered by JGood 2009-09-22
  */

#ifndef __dll_h__
#define __dll_h__

#ifdef __MY_DLL_LIB__
    #define DLL_EXPORT extern "C" __declspec(dllexport)
#else
    #define DLL_EXPORT extern "C" __declspec(dllimport)
#endif

DLL_EXPORT int jmax(int x, int y);

#endif

 
동적 라 이브 러 리 구현:
obj 파일 로 컴 파일:g+-c-o dll.obj dll.cpp
링크 obj,dll 생 성:g++-shared-o dll.so dll.obj
/**
  * file: dll.cpp
  * Powered by JGood 2009-09-22
  */

#define __MY_DLL_LIB__
#include "dll.h"

int jmax(int x, int y)
{
    return x > y ? x : y;
}

 
동적 라 이브 러 리 호출:
exe:g+main.cpp dll.so-o main.exe 로 직접 컴 파일
/**
  * file: main.cpp
  * Powered by JGood 2009-09-22
  */

#include "dll.h"
#include 

using namespace std;

int main()
{
    int a = 20;
    int b = 40;
    
    cout << jmax(a, b) << endl;

    return 0;
}  

좋은 웹페이지 즐겨찾기