본문 바로가기

학교/정리4

constexpr 선언 시 저장 위치 constexpr을 선언하면 변수는 컴파일 타임에 사용된다고 알고 있었지만 아니었다. 결론만 쓰자면 컴파일러는 변수 쓰는 곳을 상수로 대체할 수도 있고 아닐 수도 있다.다음을 보자.constexpr auto v0 = 1u;const auto v1 = 2u;static_assert(v0 );// 값을 바꿔보자const_cast&>(v0) = 2u;static_assert(v0  아래처럼 출력된다1 22 2 메모리를 확인하면 마찬가지로 값이 변해있다.0x000000BFC074F6D4  02 00 00 00 cc cc cc cc cc cc cc cc cc cc cc  ....???????????0x000000BFC074F6E3  cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc .. 2024. 5. 30.
OpenTTD 빌드 트랜스포트 타이쿤 디럭스의 오픈소스 버전, OpenTTD를 컴파일해보자. 오랜 소원이던 오픈소스 커미터를 한번 해보고자... 소스를 클론한다> git clone https://github.com//OpenTTD.git openttd> git clone https://github.com/OpenTTD/OpenTTD-git-hooks.git openttd_hooks> cd openttd> git remote add upstream https://github.com/OpenTTD/OpenTTD.git> cd .git/hooks> copy ../../../openttd_hooks/hooks/* . 먼저 의존성 해소가 필요하다. 로컬 저장소 경로로 이동해서 다음과 같이 입력한다.> vcpkg integrate i.. 2024. 5. 12.
GPUView GPU와 CPU 간의 상호 작용을 프로파일링할 수 있는 좋은 툴이 있다. 오래 전에 개발되었지만 여전히 필드에서 사용되는 바로 GPUView이다. 이 도구를 꽤 예전에 써보고 사용할 기회가 없어서 잊고 있었지만, 그걸 일깨워주는 기회가 있었다. 최근에 내가 맡은 일은 특정 게임이 왜 특정한 인텔 노트북에서 셔터링을 유발하는지에 대한 것이다. 셔터링은 보통 랙이라 불리는 현상으로 프레임이 단속적으로 끊어져 게임의 자연스러운 진행을 망치는 현상이다. 내부에서는 VerySleepy라는 도구로 분석했는데, 사실 이것은 유저 레벨의 프로파일링 도구로서 다른 프로세스 특히 GPU와의 상호 작용 같은 걸 볼 수는 없다. 오로지 대상 프로세스이 호출하는 함수 실행 시간을 측정할 뿐이다. 반면 인텔 측 내부 개발자는 다.. 2024. 5. 11.
윈도우 가상 머신 다운로드 윈도우즈 가상 머신 하에서 여러가지 테스트를 하기 쉬운 환경이 미리 마련되어 있다.윈도우 11 가상 머신 다운로드https://developer.microsoft.com/ko-kr/windows/downloads/virtual-machinesWindows 11 Enterprise Evaluation을 다음 가상머신에 따라 받을 수 있다VMWareHyper-VVirtual BoxParallels윈도우 10 가상 머신 다운로드여기는 경로가 사라졌기 때문에 아카이브에서만 볼 수 있다. https://web.archive.org/web/20200612045637/https://developer.microsoft.com/en-us/windows/downloads/virtual-machines이미 기한이 만료되어서.. 2024. 4. 25.