InitializeOnLoad

Work 2017. 4. 25. 12:31

[InitializeOnLoad]
public class SometingEditor

static SometingEditor()

{

}

 

유니티의 컴파일 시점에서 SometingEditor의 생성자가 작동한다.

 

'Work' 카테고리의 다른 글

temp  (0) 2020.07.02
유니티 익스포트시 gradle에 추가  (0) 2017.09.19
유니티 안드로이드 익스포트 에러  (0) 2017.09.19
Posted by IdleMage
,

 stdafx는 Standard Application Frameworks의 약자로 MS의 Visual Studio를 이용하여 프로젝트를 만들면 접할수 있습니다.
 
 MS에서 개발자들의 능률향상을 위해 만들어둔 Precomplied header로서 간단히 말해 자주쓰이는 여러가지 헤더들을 미리 컴파일해두어 이후 다시 컴파일하지 않고 사용하게해주는 파일입니다. 

 헤더의 크기가 커지거나 수가 많아질수록 활용도가 높아지죠.

 허나 이는 Visual Studio에서 프로젝트를 만들면 자동으로 생성되기에 사용을 원치 않는 사람들은 프로젝트 - 속성에서 미리 컴파일된 헤더 항목을 클릭하여 헤더 사용유무를 해제해주시면됩니다.


 컴파일 된 헤더의 추가 또한 위 화면의 페이지에서 행할 수 있으니 필요에 따라 편집해 활용한다면 작업 능률의 향상을 느끼실 수 있습니다.

'Study & Tip > VisualStudio' 카테고리의 다른 글

vsix 사용  (0) 2020.09.16
Posted by IdleMage
,

 error C2440: 'static_cast' : 'UINT (__thiscall 클래스명::* )(CPoint)'에서 'LRESULT (__thiscall CWnd::* )(CPoint)'(으)로 변환할 수 없습니다.
 기본 형식에서 파생 형식으로 캐스팅하려면 dynamic_cast 또는 static_cast가 필요합니다.

VS6에서 작업한 MFC 코드를 Visual Studio2008로 변환하여 작업하려고 보면 위와 같은 에러를 토해냅니다.

Visual Studio 2003 이후로 NCHITTEST 선언이 변경되어 발생한 문제입니다.

더이상 VS6에서 작업할 일 없다 싶으신 분들은 Header의 선언부분인 

afx_msg UINT OnNcHitTest(CPoint point);



afx_msg LRESULT OnNcHitTest(CPoint point);

로 변경해주시고, 마찬가지로 cpp 본문 또한 리턴 타입을

UINT 클래스명::OnNcHitTest(CPoint point) {

에서

LRESULT 클래스명::OnNcHitTest(CPoint point) {

로 변경해주시면 됩니다.


VS6와 Visual Studio 2008 양쪽의 호환성을 원하시는 분들은 전처리기를 사용하여 Header는

#if _MSC_VER > 1400

    afx_msg LRESULT  OnNCHitTest(CPoint point);

#else

    afx_msg UINT  OnNCHitTest(CPoint point);

#endif

로 변경하고 cpp는

#if _MSC_VER > 1400

    LRESULT 클래스명::OnNcHitTest(CPoint point) {

#else

    UINT 클래스명::OnNcHitTest(CPoint point) {

#endif

으로 변경해주시면 VS6, Visual Studio 2008 어디서든 에러 없이 사용하실 수 있습니다.

Posted by IdleMage
,