DLL(Dynamic Link Library)

JIHYUN·2023년 9월 13일
0

vb

목록 보기
2/6

Dynamic Link Library
동적 링크 라이브러리

링크 과정에서 라이브러리와 어떻게 연결되어야 한다는 정보만을 덧붙이게 되는 것.
링크는 프로그램이 실행되는 순간 이루어진다.

실행되는 프로그램의 수가 많고 그 안에 공통된 라이브러리 함수가 포함되어 있다면 -> 동적 링크 라이브러리를 사용

Coding > Compile > Linking > Binding

프로그래머가 코드 작성 (Coding) →
컴파일러가 컴파일 하여 기계어 코드 생성 (Compile) →
프로그램 내에서 사용한 라이브러리 함수들을 해당 라이브러리에서 뽑아와 실행 코드에 덧붙임
만약 둘 이상의 소스를 가지고 있을 때는 이것들을 연결 (Linking)
참조하는 루틴을 서로 연결하는 것 외에도 실행에 필요한 정보를 덧붙여 실제로 실행 가능한 코드를 생성 →
리소스를 덧붙여 최종적으로 실행 파일을 만들어 냄(Binding)

C와 베이직의 자료형

자료형CVB
문자형charByte, String * 1
정수형intInteger or Long
긴 정수형longLong
실수형(단정도)floatSingle
실수형(배정도)doubleDouble
문자열형char*String
포인터형데이터형*없음

변수의 속성

속성설명
이름(Name)변수에 부여된 이름
형(Type)변수의 데이터 형
값(Value)변수에 저장된 값
참조(Reference)변수가 위치한 메모리의 주소
범위(Limits)변수가 유효한 범위

함수 호출 시 변수의 참조 방식

호출 방법설명함수 선언함수 호출
이름에 의한 호출(Call by Name)이름을 매개로 함수를 호출한다.TestFunc p := 10
혹은
Call TestFunc(p := 10)
값에 의한 호출(Call by Value)
선택적으로 사용
값을 매개로 함수를 호출한다.function TestFunc( ByVal p As Integer) As IntegerTestFunc 10
혹은
Call TestFunc(10)
참조에 의한 호출(Call by Reference)
VB의 기본
주소(포인터의 값)를 넘겨주는 호출방식
주소값을 매개로 함수를 호출한다.function TestFunc(ByRef p As Integer) As Integer
혹은
function TestFunc(p As Integer) As Integer
"

C와 비주얼 베이직의 선언 차이

C 데이터형VB선언
ATOMByVal 변수명 As Integer
BOOLByVal 변수명 As Long
BYTEByVal 변수명 As Byte
CHARByVal 변수명 As Byte
COLORREFByVal 변수명 As Long
DWORDByVal 변수명 As Long
HWND, HDC, HMENUByVal 변수명 As Long
INT, UINTByVal 변수명 As Long
LONGByVal 변수명 As Long
LPARAMByVal 변수명 As Long
LPDWORD변수명 As Long
LPINT, LPUINT변수명 As Long
LPRECT변수명 As type 사용자 정의 형식의 모든 변수
LPSTR, LPCSTRByVal 변수명 As String
LPVOID변수명 As Any 모든 변수(문자열은 제외)
LPWORD변수명 As Integer
LRESULTByVal 변수명 As Long
NULLAs Any 또는 ByVal 0&
SHORTByVal 변수명 As Integer
VOIDSub procedure, 응용 불가능
WORDByVal 변수명 As Integer
WPARAMByVal 변수명 As Long

DLL 파일을 찾는 순서

프로그램이 실행된 디렉토리 → 윈도우 system → PATH로 지정된 디렉토리들

profile
🍋

0개의 댓글