본문 바로가기

개발

(19)
MIOHDR for Raspberry Pi 3/3B/3B+ 읽기에 앞서: 이 프로그램은 현재 개발중인 소스코드를 설명 하고 있으며, GCC및 G++ 를 이용할 줄 아는 사용자에 한해 설명이 가능한 부분이 있으니, 다소 어려운 내용을 포함하고 있을 수 있다는 점을 먼저 인지 해 주시기 바랍니다. 몇가지 해 볼 것이 있다는 이유로 Raspberry Pi 3B+ 모델을 현재 7" 800x480 LCD 와 붙여 사용 중 이긴 합니다만, NXDE 를 올려서 가볍게 써 보겠다는 취지는 좋으나, 아무래도 다양한 Software 가 없다는 것을 파악 할 수 있는 것이 바로 이 Raspberry Pi 생태계 인것 같습니다. 64bit AP 를 달고도 32bit kernel 이 올라가 있는 느낌같은 느낌은 뒤로 하고, 아무튼 NXDE 도 X11 기본은 하는 것일테니, 다음 요소들..
IDA 를 쓸 수 없다면, x64dbg ! 회사에서나, 집에서나 컴파일러에서 디버깅을 다 했다고 생각 했는데, 막상 다른 환경으로 돌려 보거나 하면 기대하지 못한 오류를 겪게 되는 경우가 있습니다. ( 예를 들어 흔히 보는 0xCxxxxxxx .. exception fault ? ) 그런 경우 원인을 찾아 내기 위해 별도의 독립형 디버깅 프로그램을 사용해야 하는 경우가 있는데, 저의 경우는 WinDBG 를 사용해 왔었습니다. 하지만 이 WinDBG 의 경우 M$ 에서 이에 대한 지원을 끊은 상태이기 때문에 앞으로 계속 사용이 어려울 뿐더러, 이젠 구하기도 어렵다는 단점이 있습니다. 이를 해결 하기 위해서는 고성능 Debugger 인 IDA 같은 것을 쓸 수도 있겠지만, 개인이 이런 비싼 디버거를 불법적인 방법을 통하지 않고 쓰기엔 부담이 크다고 ..
gcc/MinGW 6.x 부터 생긴 경고, misleading indentation gcc 5 버젼 부터 개발을 해 오던 librawprocessor 에서 눈치를 못 채고 있던 컴파일 경고가 뜨기 시작 한걸 이번에 알았습니다. 아직 major release 가 이루어 지지 않았기 때문에 신경을 덜 쓴 것도 있긴 합니다만, 갑자기 이 오류가 눈에 띈 것은 누군가의 계시인건지 ... 이 오류는 gcc 6 버젼 부터 강화된 여러 조건별 비교문에 따른 것으로 아래처럼 코드가 되어 있는 경우 발생 합니다. 이 오류는 GNU gcc 6 가이드 웹 페이지를 보면 나오는데,https://gcc.gnu.org/gcc-6/porting_to.html 아래 처럼 복합적인 비교문으로 포인터와 숫자로 넘어오는 값을 함께 비교 할 때에는 브레이스 {} 로 묶어 주어야 합니다. 그래서 아래처럼 코드를 변경 하면 ..
Sentinel HASP 덕에 libshttp 를 업데이트 하다 ... 혹시 요즘도 Sentinel 의 HASP key 를 쓰는 회사가 많이 있는지는 모르겠습니다만, 간만에 HASP license 관련 작업을 하게 되었습니다. 이번엔 마스터 키가 장착 되어 있는 원격 EMS 서버에서 현재 클라이언트의 Time Period 키를 만들고 지울 수 있도록 만들면서 HTTP 통신을 해야 하는 일이 생기면서 기존에 만들어 두었던 libshttp 를 업데이트 하게 되었습니다.libshttp Github 주소https://github.com/rageworx/libshttp 이 오래된 라이브러리를 다시 갱신한 이유는, Windows 에서 보통 기본으로 쓰는 wininet 라이브러리가 Sentinel EMS 7.4 와 제대로 붙지 못하고, XML 정보를 POST 로 보내도, 이를 EMS 서..
[FLTK] Win32 에서 HWND 를 제대로 못 얻어 올때 일단 조이스틱, 마우스, 키보드의 일정 값들을 산술화 하는 테스트 프로그램을 FLTK 로 제작 중 이었습니다만, 이게 왠걸 ... DriectX 의 DInput 에 SetCooperativeLevel() 에서 계속 실패가 나는 것 이었습니다. 대체 왜 이러나 하고 보니, ( Process Hacker 사용 ) 엄? FLTK 에서 fl_xid( window ); 로 가져 온 HWND 와 실제 FLTK 에서 사용하고 있는 HWND 가 다릅니다.... 대체 저건 어디서 나온 값이지 ... 그래서 이전에 만든 FLTK 조이스틱 테스트 하는걸 보면, 이건 또 fl_xid() 로 정상인 HWND 를 넘겨 줍니다 ... 대체 왜 ?? 왜 ?? 왜 ?? 아마 FLTK 에서 2개 이상의 window를 생성 하고 있는 상..
개발 능력의 저능화를 이끄는 대한민국 언젠가 부터 Android 의 영향 덕분인지 일반 PC (노트북 포함) 의 Linux kernel 이 3.x 를 넘어섰습니다. 회사에서는 특정 컴파일러의 dependency 때문에 kernel 을 바꾸질 못하고 있는데 한참이나 후진 Centrino (Dothern) CPU 를 쓰는 노트북에서 요즘 가장 인기 좋은 Linux Mint 를 쓰게 된 것이 사실 좀 뭔가 아이러니 한 느낌이 듭니다. Linux kernel 역사에 2.3, 2.4 와 2.6 은 천지개벽 수준의 발전 이었는데 3.x 를 넘어서는 그 차이를 잘 모르게 된것 또한 시대의 흐름이 보이지 않게 된듯 한 착각이 들기도 합니다. 처음 대학에 입학하던 1996년을 되돌아 보면 그때 부터 이 좁은 대한민국이란 나라에서는 뭔가 항상 특정 조건대로 ..
MSYS : Windows 에서 리눅스 소스 빌드의 영광을 - -- 이번엔 어떠한 사진도 없습니다, MSYS 에 사진 따위는 사치 ... (라지만 올릴 사진이 없다는 것이 함정) -- Windows 는 애시당초 상용 OS 임에도 불구 하고, 자체 어플리케이션을 개발 할 수 있는 컴파일러나 환경을 전혀 지원 하지 않습니다. 일반적으로 Windows 를 단지 "단순한" 용도로만 쓰는 사람들이야 이런 개발환경을 고려 하거나 생각해야 할 부분이 전혀 없습니다만, 조금이나마 "무엇인가를 만들어 보겠다." 라는 창의성을 가진 사람이라면 이런 폐쇠적인 환경이 얼마나 (OS값이라고 지불해야 하는 금액을 생각하면) 불합리하고 오만한 Microsoft 의 환경에 자신이 처해 있는가를 알 수 있습니다. 혹시나 Visual Studio나 MFC 가 있는데 뭐가 걱정이지요? 하는 질문을 ..
Samsung 에게 필요 한 것은 하드웨어의 우수성이 아니다. 얼마전에 구글이 모토롤라의 핸드폰 사업부를 먹었다는 소식을 들으신 분들이 많을 겁니다. 이 소식은 구글의 주가를 올리는 새로운 소식이 되었을 수도 있겠지만, IT 에 종사 했던 제 입장에서는 많은 전문가 들이 우려 하듯이, 구글의 하드웨어 시장의 진입을 알리는 신호탄이 되었다는 것 입니다. 애플사의 하드웨어의 의존도도 삼성에서 점점 멀어지고 있는 데다 HTC와 같은 신생 기업들의 기기제조 능력이 삼성에 떨어지는 것도 없습니다. 삼성이 국내에 있어서는 최고의 하드웨어를 만드는 업체임이 틀린 말은 아니겠습니다만, 과연 하드웨어만 잘 만든다고 그것이 최고의 제품 일까요 ? 국내에서는 이미 갤럭시 씨리즈를 내 놓으면 많은 대중문화에 통신판매 하듯이 삼성이 직접 간접광고에 뛰어 들고, 언론들을 매수 하여 언론 플..