Lyn
조회 수 5358 추천 수 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
번호 제목 글쓴이 날짜 조회 수
117 [연속기획UD] 4. INIPay Plugin file Lyn 2016.09.08 2351
116 where check http/2 online Lyn 2016.09.07 2082
115 how to rebuild ngnix with new version openssl Lyn 2016.09.07 2181
114 사이트에 SSL 인증서를 적용 했습니다... 적용 방법 Lyn 2016.09.07 2071
113 add "open as administrator" menu for gnome file explorer(nautilus) file Lyn 2016.06.25 4369
112 Visual C++ C4503 Warning Fix Lyn 2016.06.21 4763
111 New Calling Convention for AMD64(=EM64T, x64) and IA32(=x86) file Lyn 2016.04.17 5431
» What is the calling convention of the C++ lambda file Lyn 2016.04.11 5358
109 Nuget error after Visual Studio 2015 Update 2 install file Lyn 2016.04.04 5463
108 Geforce 364.72 Vulkan Support file Lyn 2016.03.31 4069
107 [연속기획UD] 3. OpenVPN GUI Client file Lyn 2016.03.14 4773
106 How to Windows Disk Drive Performance Counter On Lyn 2016.03.12 3256
105 [연속기획UD] 2. NAVER Font Installer file Lyn 2016.03.06 4689
104 [연속기획UD] 1. Windows Service Manager file Lyn 2016.03.06 4342
103 [연속기획UD] 윈도우 Desktop Application 의 Unicode, High DPI 를 신경씁시다 Lyn 2016.03.06 4305
102 Windows 10 network priority change file Lyn 2016.02.16 2819
101 VMWare 12 + Windows 10 Bug file Lyn 2016.01.03 3186
100 C++11 Type Traits. 라이브러리가 프로그래머의 제어에서 벗어나다 1 file Lyn 2015.12.30 4633
99 Safe scanf 계열 함수의 함정. 자나깨나 크기조심 secret Lyn 2015.11.17 113
98 OpenVPN이 2.3.8 으로 업데이트 되면서 이것저것 바뀌었는데... 1 Lyn 2015.09.08 2625
Board Pagination Prev 1 ... 2 3 4 5 6 7 ... 8 Next
/ 8