사용자 도구

사이트 도구


language:uwp:helloworld

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

language:uwp:helloworld [2017/06/18 20:20] – 만듦 kieunslanguage:uwp:helloworld [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
  
 +====== Visual C++ Language Reference (C++/CX) ======
 +===== Quick Reference (C++/CX) =====
 +
 +  * 사이트 : [[https://docs.microsoft.com/ko-kr/cpp/cppcx/quick-reference-c-cx|quick-reference-c-cx]]
 +
 +/ZW 컴파일 옵션을 켜면 UWP 앱을 빌드하는 것으로 간주.
 +
 +/FU 옵션이 켜져 있으면 런타임 메타 데이터 사용?
 +
 +'default' 네임스페이스가 기본
 +
 +'Platform' 윈도우즈 런타임 타입을 가리킨다.
 +
 +비교
 +
 +<code>
 +__wchar_t           char16                  
 +// UTF-16이라네
 +
 +int                 int                     
 +// int는 32비트
 +
 +long long           int64, uint64
 +__int64
 +
 +float               float32, float64
 +double
 +
 +enum {}             enum class {}
 +                    enum struct {}
 +
 +std::time_get       Windows::Foundation::DateTime
 +
 +std::wstring        Platform::String^
 +L".."
 +
 +// 포인터 : 포인터가 좀 다르다.
 +포인터(*)             ^ , _TYPE_^ _ID_
 +std::shared_ptr                             
 +// 멤버 접근은 '->'로.
 +// '^' 자동으로 레퍼런스 카운팅을 합니다라는 뜻이라는데.
 +
 +//레퍼런스
 +Object&                 Object%                  
 +_TYPE_& _ID_            _TYPE_% _ID_            
 +// 트래킹 레퍼런스(Tracking reference)라는 좀 다른 개념
 +// 멤버 사용할때는 '.'을 사용한다.
 +
 +// 동적선언
 +new                    ref new
 +
 +// 삭제
 +delete, delete[]   자동삭제                     
 +// 레퍼런스 카운팅에 삭제 여부를 자동 결정.
 +
 +// 배열
 +TYPE _ID_ []         Arry< _TYPE_ ^>^ _ID_( _SIZE_ )
 +std::array           WriteOnlyArray< _TYPE_ ^>^ _ID_( _SIZE_ )
 +// 오브젝트 제어자를(handle-to-object) 사용해야 한다.
 +
 +// 클래스
 +class _ID_ {}        ref class _ID_ {}
 +struct _ID_ {}       ref struct _ID_ {}
 +// private 접근성을 가진 클래스 생성
 +// public 접근성을 가진 클래스 생성
 +
 +
 +// 구조체
 +strcut _ID_ {}       value class _ID_ {}
 +                     value struct _ID_ {}
 +// 윈도우즈 메타 데이터를 표시한다는데?
 +
 +// interface
 +abstruct class        interface class _ID_ {}
 +pure virtual 을 가진    interface struct _ID_ {}
 +
 +// 델리게이트
 +std::function         public delegate _RETURN_ _DELEGATE_TYPE_ID_ ([ _PARAM_ ])
 +
 +// 가변타입 (Parameterized types)
 +templates             generic<typename _TYPE_ > interface class _ID_ {}
 +                      generic<typename _TYPE_ > delegate _RET_TYPE_ _DELEGATE_ID_ () {}
 +
 +// 널값에 대한 처리
 +boost::optional<_TYPE_>                Platform::IBox<_TYPE_>
 +</code>
 +
 +단독
 +
 +<code>
 +Platform::Guid                  128비트 GUID
 +
 +Windows::Foundation::TimeSpan   timespan 구조체 |
 +
 +Platform::Object^               레퍼런스 카운트 기반의 윈도우 런타임 타입 시스템
 +
 +// event - begin
 +event _DELEGATE_TYPE_ID_ _EVENT_ID_ ;
 +_DELEGATE_TYPE_ID_ _DELEGATE_ID_ = ref new _DELEGATE_TYPE_ID_( this, [_PARAM_] );
 +// event - 등록 
 +_EVENT_ID_ += _DELEGATE_ID_ ;
 +(or)
 +EventRegistrationToken _TOKEN_ID_ = _OBJ_ . _EVENT_ID_ += _DELEGATE_ID_;
 +(or)
 +auto _TOKEN_ID_ = _OBJ_ . _EVENT_ID_ ::add( _DELEGATE_ID_ );
 +// event - 삭제
 +_OBJ_ . _EVENT_ID_ -= _TOKEN_ID_ ;
 +(or)
 +_OBJ_ . _EVENT_ID_ ::remove( _TOKEN_ID_ ) ;
 +// event - end
 +
 +// 프로퍼티
 +property _TYPE_ _ID_ ;
 +property _TYPE_ _ID_ [ _INDEX_ ] ;
 +property _TYPE_ default [ _INDEX_ ] ;
 +</code>
 +
 +====== UWP 프레임워크 정의 ======
 +
 +Windows::ApplicationModel::Core::IFrameworkView
 +매니페스트
 +
 +===== 보기를 표시하도록 DirectX Windows 스토어 앱을 설정하는 방법 =====
 +
 +==== 뷰만들기와 초기화 ====
 +
 +
 +
 +
 +====== DX ======
 +
 +UWP 앱에 DirectX 지원하려면
 +  * IFrameworkViewSource
 +  * IFrameworkView
 +인터페이스 구현
 +
 +====== UWP Hello World =====
 +
 +https://docs.microsoft.com/ko-kr/windows/uwp/get-started/create-a-basic-windows-10-app-in-cpp