SAL은 Microsoft's standard source code annotation language 의 약자이다.
MS에서 작성한 코드들을 보면 주석 처럼 달린 부분들을 볼 수 있는데 (아래 예제에 색칠해놓은 부분)
void MyPaintingFunction( __in HWND hwndControl, // An initialized read-only parameter. __in_opt HDC hdcOptional, // An initialized read-only parameter // that might be NULL. __inout IPropertyStore *ppsStore // An initialized parameter that // may be freeely used and modified. );
<sal.h> 에 정의되어있다.
vs2012쪽 문서는 설명이 대충되어 있고 추가 설명을 위한 링크가 깨져있으므로. 자세하게 나와있는 vs2005 문서를 참고하자..
http://msdn.microsoft.com/en-us/library/ms235402(v=VS.80).aspx
__in, __out, __inout 같은것들이야 통박으로 알기 쉽지만, 생소한 것들이 많으니 첨접하는 api나 sdk 코드들을 좀 더 자세히 이해하기 위해서 알아두면 좋을것 같다.
'C/C++/MFC' 카테고리의 다른 글
[MFC] ATL and MFC conversion macro 사용시 주의점 (0) | 2012.12.12 |
---|---|
[MFC] CT2A 가 없어졌다. (0) | 2012.12.12 |
[MFC][GDI+] error C2660: 'Gdiplus::GdiplusBase::operator new' : 함수는 3개의 매개 변수를 사용하지 않습니다. (0) | 2012.05.02 |
[API/MFC] !!주의!! 포인터 유효성 검사 (0) | 2012.02.06 |
[MFC] DoModal 에서 ASSERT에 걸려서 dialog 실행을 못하는 문제 (0) | 2012.01.04 |