C 언어에서 정적 라이브러리 함수와 동적 라이브러리 함수를 호출하는 방식

1183 단어 C 언어

C 언어에서 동적 라이브러리 함수를 호출하는 두 가지 방식


방식 1.암시적 호출
동적 라이브러리와 관련된 파일을 현재 디렉터리 (lib, dll) 로 복사한 다음 다음 다음 코드를 추가하여 프로그램에 연결 라이브러리 함수를 지정합니다.
주의: 두 번째 매개 변수는 dll이 아닌 라이브러리 파일을 도입하는 것입니다.프로그램이 실행되는 동안lib는 dll에 필요한 함수를 해당하는 메모리 공간에 비추습니다.
#pragma comment(lib, "./mydll.lib")

방식 2.호출 보이기
Windows가 필요합니다.h의 헤더 파일, 구체적인 코드는 다음과 같다.
핸들을 설정해야 합니다. (여기는void*입니다.) 프로그램 설계에서 핸들은 특수한 스마트 지침입니다.응용 프로그램이 다른 시스템(예를 들어 데이터베이스, 운영체제)에서 관리하는 메모리 블록이나 대상을 인용할 때 마우스를 사용해야 한다.
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include"fun.h"
#include
typedef int(*MYFUNC)(int, int);
#pragma comment(lib, "./mydll.dll")
int main(int argc, char *argv[])
{
	HANDLE hDll; //void *
	hDll = LoadLibrary("mydll.dll"); //       
	MYFUNC my_add = (MYFUNC)GetProcAddress(hDll, "my_add");//proc  

	int a = my_add(1, 2);
	printf("%d
", a); system("pause"); return 0; }

정적 라이브러리 함수 호출


두 번째 매개변수 위치에서 디렉토리를 지정하면 됩니다.
#pragma comment(lib, "./mydll.lib")

좋은 웹페이지 즐겨찾기