- __cdecl : 일반 적인 함수, 얘만 호출한 곳에서 스택 정리 -> 가변 인자 사용 가능
- __fastcall : 레지스터에 파라미터가 무려 두개! (인자가 두개 이하면 빠름)
- __stdcall : 윈도우 api 표준
- __thiscall : 클래스 멤버 함수에만 사용, 레지스터에 this 포인터 들어감
- callback function
> callback : 프로그래밍에서 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말함
콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 혹은 나중에 실행 가능
> 일반적으로 콜백 함수의 포인터 (핸들), 서브루틴 또는 람다함수의 형태로 전달
> 콜백수신 코드는 실행하는 동안에 넘겨받은 콜백 코드를 필요에 따라 호출하고 다른 작업을 실행하는 경우도 있음.
> 다른 방식으로는 콜백수신 코드는 넘겨받은 콜백 함수를 '핸들러'로서 등록하고, 콜백수신 함수의 동작 중 어떠한 반응의 일부로서 나중에 호출할 때 사용할 수도 있음. (비동기 콜백)
> 콜백은 폴리모피즘과 제네릭프로그래밍의 단순화된 대체 수법
콜백 수신 함수의 정확한 동작은 콜백 함수에 의해 바뀜. 코드 재사용 할 때 유용
ex) [windows에서]
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
'programing > C++' 카테고리의 다른 글
[펌] Let`s learn ! Effective C++ (0) | 2015.06.03 |
---|---|
code, data(bss), heap, stack (0) | 2015.05.22 |
C++ 입출력 함수 (0) | 2015.05.14 |
분기문, 반복문 (0) | 2015.05.07 |
자료형 (0) | 2015.05.07 |