Lyn
조회 수 5587 추천 수 0 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

지인이 물어 온 김에 정리 해 둡니다.

 

결론부터 말하면 C++ 의 Lambda 의 Calling Convention 은 상황에 맞춰 "그때그때 다르다" 입니다.
 

기본적으로 cdecl(물론 VC++ 프로젝트 설정에서 옵션을 바꾸면 다른 것도 가능합니다) 멤버여야 한다면 thiscall 그렇지 않으면 대입 되는 함수 포인터의 type 에 따라서 결정됩니다.
즉 원하는 형태로 대입만 하면 거기에 맞춰 적절히 컴파일 됩니다.

 

lambda.png

 

외부에 callback 함수를 넘길 때 stdcall 로 선언해야 하는 경우가 꽤 되는데(특히 윈도우 API들) 이 때도 부담없이 Lambda 를 사용 할 수 있습니다.

 

단 아쉽게도 auto 와의 조합은 제공하지 않는데, 

 

auto __stdcall f1 = [](int num1, int num2, int num3) { printf("%d %d %d\n", num1, num2, num3); };

 

와 같은 문법은 경고를 내며 __stdcall 이 무시됩니다... 

TAG •
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
118 사이트에서 http2 프로토콜을 지원 하기 시작 했습니다. Lyn 2016.10.01 4581
117 [연속기획UD] 4. INIPay Plugin file Lyn 2016.09.08 2635
116 where check http/2 online Lyn 2016.09.07 2290
115 how to rebuild ngnix with new version openssl Lyn 2016.09.07 2429
114 사이트에 SSL 인증서를 적용 했습니다... 적용 방법 Lyn 2016.09.07 2268
113 add "open as administrator" menu for gnome file explorer(nautilus) file Lyn 2016.06.25 4547
112 Visual C++ C4503 Warning Fix Lyn 2016.06.21 4986
111 New Calling Convention for AMD64(=EM64T, x64) and IA32(=x86) file Lyn 2016.04.17 5615
» What is the calling convention of the C++ lambda file Lyn 2016.04.11 5587
109 Nuget error after Visual Studio 2015 Update 2 install file Lyn 2016.04.04 5661
108 Geforce 364.72 Vulkan Support file Lyn 2016.03.31 4272
107 [연속기획UD] 3. OpenVPN GUI Client file Lyn 2016.03.14 5016
106 How to Windows Disk Drive Performance Counter On Lyn 2016.03.12 3437
105 [연속기획UD] 2. NAVER Font Installer file Lyn 2016.03.06 4899
104 [연속기획UD] 1. Windows Service Manager file Lyn 2016.03.06 4565
103 [연속기획UD] 윈도우 Desktop Application 의 Unicode, High DPI 를 신경씁시다 Lyn 2016.03.06 4487
102 Windows 10 network priority change file Lyn 2016.02.16 3018
101 VMWare 12 + Windows 10 Bug file Lyn 2016.01.03 3419
100 C++11 Type Traits. 라이브러리가 프로그래머의 제어에서 벗어나다 1 file Lyn 2015.12.30 5047
99 Safe scanf 계열 함수의 함정. 자나깨나 크기조심 secret Lyn 2015.11.17 113
Board Pagination Prev 1 ... 2 3 4 5 6 7 ... 8 Next
/ 8