본문 바로가기

w64

(3)
MinGW-W64, CPU 명령어 빌드에 맞춰 구동 테스트 하기. 만약 MinGW-W64 (또는 일반 MinGW) 에서 -mavx 또는 -march=corei7-avx 와 같은 빌드를 지시해서 만든 바이너리를 배포 하는데, 만약 이를 구동하는 PC 가 AVX 관련 명령어를 지원 하지 않는 환경에서 해당 바이너리를 구동하면? 이럴 경우 해당 바이너리는 그냥은 구동이 되나, AVX 관련 명령어가 실행 되는 위치에서 exception 을 뱉고, 해당 callstack 은 이전 pc 로 돌아가나, 여기서 문제가 발생 해서 함수 자체가 멍청이가 됩니다. 그래서 배포한 바이너리가 내가 빌드한 환경과 자동으로 구동 될 PC 에서의 환경과 맞는지를 간단히 테스트 할 수 있는 방법을 gcc 는 물론 MinGW 역시 지원 합니다. 이를 확인 하기 위해서는 먼저 #include 에 를 넣..
MinGW-W64 용 DirectInput 소스 (키보드,마우스,조이스틱) MinGW-w64 프로젝트 부터 DirectX 관련 SDK 가 포함 되어 있으므로 윈도우 어플 개발에 매우 편리함을 얻을 수 있습니다만, MFC 처럼 뭔가 꽁꽁 묶여져 있는거 찾기가 사실 어렵다 보니 직접 만들어 써야 하는게 많은건 사실 입니다. 대신 쾌적함을 얻을 수 있는건 덤 이지만 ... 그래서 제가 진행 중인 프로젝트 중에 DirectX 의 2D, input 을 가져다 쓰면서 좀 더 편리하게 써 보고자 만들었던 것을 공유 하고자 합니다. 사용은 간단 합니다. 먼저 현재 사용되는 윈도우에 생성 부분 쪽에 InitDirectInput() 를 사용하여 Dinput 을 초기화 합니다. 이떄 반환되는 값은 HRESULT 가 아니라 DXINPUT_INIT_RESULT_KEYBOARD, DXINPUT_INIT..
CodeBlocks 에 minGW w64 컴파일러 붙이기. 대부분 숙련된 개발자가 아니고서는 CodeBlocks 니 minGW 니 하는게 뭔소린지 모르는게 당연합니다. 하지만 좀 더 개발에 임하고 컴파일러가 뭔가를 깨닫기 시작하면 컴파일러의 소중함과 개발 환경의 중요성과 그에 따른 필요성 등을 깨닫게 되겠죠. 하지만 세상에 그런걸 혼자 알아서 다 하는 사람이 얼마나 있을까요? (저라면 귀찮아서 안할지도 ... ) 그래서 저 하나 고생해서 소소한 도움이 되고자 CodeBlocks 와 minGW 64 를 함께 붙이는 작업을 그림과 함께 소개해 보고자 합니다. CodeBlocks 의 경우 기본적으로 32ibt minGW (버젼 3 대) 를 포함하고 있는 패키지가 있습니다. 하지만 64bit 를 포함하는 것은 없죠 . 즉, 64bit minGW 를 붙이려면 직접 사용자..