"code" 검색결과 (16)
  • Windows 에서 BIOS dump 및 Parse (해석) 하기 소스코드

    이 프로그램은 작년에 만들었던 것이나, 소스를 오픈 하고 있지 않다는걸 늦게 알아서 지금에서야 공개 하게 되었습니다. 공개된 위치는 다음과 같습니다. https://bitbucket.org/rageworx/rk_bios_dump 소스코드 자체는 MIT License 를 따르며, 내부에 사용된 코드들 중 WinBIOS info (winbiosinfo.h/cpp) 는 BIOS 규격을 공표하는 DMTF / DSP0132 ( 2011-01-26 ) version 2.7.1 의 System Management BIOS (SMBIOS) Reference Specification 문서를 참조로 개발 중 이었던 코드 입니다. 대부분의 표준 SMBIOS 를 parse 할 수 있으나, 일부 Phoenix 사 BIOS 들은..

    Developement/C/C++
    2017.10.17 11:36
  • [FLTK] HICON 에서 Fl_RGB_Image 로 변환.

    이 소스 코드는 rk HDRi Studio 을 만들면서 필요에 의해서 만들어진 것 입니다만, FLTK 에서 자체적으로 윈도우를 만들어 쓸 때, 아이콘을 그리고 싶은데 막상 HICON 을 이미지 원본으로는 쓸 수 없을때 Alpha 를 가진 32bit RGB 이미지로 만들어 쓰기에 좋다고 하겠습니다. 먼저 icon_to_flrgb() 함수는 다음과 같습니다. Fl_RGB_Image* icon_to_flrgb(HICON hIcon) { BITMAP bm; ICONINFO iconInfo; GetIconInfo(hIcon, &iconInfo); GetObject(iconInfo.hbmColor, sizeof(BITMAP),&bm); int width = bm.bmWidth; int height = bm.bmHe..

    Developement/C/C++
    2017.02.20 10:38
  • MinGW-W64 용 DirectInput 소스 (키보드,마우스,조이스틱)

    MinGW-w64 프로젝트 부터 DirectX 관련 SDK 가 포함 되어 있으므로 윈도우 어플 개발에 매우 편리함을 얻을 수 있습니다만, MFC 처럼 뭔가 꽁꽁 묶여져 있는거 찾기가 사실 어렵다 보니 직접 만들어 써야 하는게 많은건 사실 입니다. 대신 쾌적함을 얻을 수 있는건 덤 이지만 ... 그래서 제가 진행 중인 프로젝트 중에 DirectX 의 2D, input 을 가져다 쓰면서 좀 더 편리하게 써 보고자 만들었던 것을 공유 하고자 합니다. 사용은 간단 합니다. 먼저 현재 사용되는 윈도우에 생성 부분 쪽에 InitDirectInput() 를 사용하여 Dinput 을 초기화 합니다. 이떄 반환되는 값은 HRESULT 가 아니라 DXINPUT_INIT_RESULT_KEYBOARD, DXINPUT_INIT..

    Developement/C/C++
    2015.12.15 13:53
  • [FLTK] + DirectX8 + MinGW, Direct Input 으로 조이스틱 쓰기 예제.

    바로 전에 올린 post 에 이어서 몇가지 작업을 더 해 보고 예제를 올려 볼까 합니다.이번에 적용한 것들은 다음과 같습니다.joystick.h/cpp(c 로 컴파일 가능) 으로 별도 API 처리.FLTK ( 주의: fltk-1.3.3-ts 사용해야 flushing 계속 해도 죽지 않음 ) 를 사용한 시각적 표현.pthread 로 polling 을 통한 update 부터 화면 표시 까지 구현.단, 이 예제에서는 Xinput 이나, Analog 부분 ( Z axis, Z rotate ) 부분 처리는 빠져 있습니다.polling 은 thread 내에서 sleep 을 30ms 하므로, 이론상으로 1초에 30 번 가량일 듯 합니다만, 이정도면 손가락이 신의 속도가 아니면 문제는 없어 보입니다. 예제는 Code:..

    Developement/C/C++
    2015.08.06 14:21
  • [FLTK] Fl_RGB_Image 로 부터 회전된 이미지 얻기.

    FLTK 는 여러 플랫폼에서 간단하면서 깔끔한 UI 를 만들기에 매우 좋은 GUI library 입니다만, 기본 기능에만 기준을 두고 있다 보니 이미지 처리 ( 리사이즈나 회전 등 ) 는 없는 것이 아쉬운 부분 입니다. 이번의 경우는 이미지를 회전 시켜 표시 해야 하는 경우 (위 이미지 처럼 뭔가 열심히 일 하고 있으니 기다려 주십사~ 하는) 기본으로 그리는 수준으로는 깔끔한 이미지를 얻기 힘듭니다. 이를 개선 하기 위해 구글링 중 CodeGuru 에서 이미지 회전에 관한 글 을 찾았습니다. 그리고 이를 응용하여 다음과 같은 API 를 만들어 보았습니다. #include #ifndef M_PI #define M_PI 3.141592654 #endif ⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄..

    Developement/C/C++
    2014.07.08 15:04
  • CPU 사용율을 알아 오는 소스 (C++)

    이 소스코드는 MinGW 32/64bit 모두에서 동작을 하는 CPU 사용을 확인을 위한 C++ 소스 코드 입니다. cpuu.h 와 cpuu.cpp 파일 내에 CPUUages 라는 Class 가 정의 되어 있으며, 이 Class 에서 CPU 사용율을 얻어 올 수 있도록 만들어 져 있습니다. 이미 많은 부분들에서 이 방법들을 사용하고 있긴 합니다만, MinGW 에서는 제대로 동작하거나 빌드 되지 않아서 이 부분을 다시 재정의 하여 만들었습니다. CPU 가 평균 특정 Percentage 이하로 내려 가야 동작하게 한다거나, 반대로 특정 사용율 이상 일때 뭔가 하도록 하는 방법을 찾으신다면 첨부된 소스를 참조 해 보시기 바랍니다. 별거 아닌 소스 이기 때문에 별다른 정보를 기재 하지는 않겠습니다. * Open..

    어떻게 할까/소프트웨어
    2014.05.30 13:49
  • EnCypher tool (AES256, BASE64) C++ library w/ Sample.

    EnCypher 라고 이름은 거창 하긴 합니다만, 단지 AES-256 과 BASE-64 를 이용하는 Front-end c++ class library 에 막 가져다 붙인 이름 입니다. 용도는 AES-256 으로 암호화 한 정보를 다시 BASE-64 로 인코딩 한 문자열을 만들거나, 반대로 처리 하는걸 만들수 있습니다. 사용하려는 C++ 코드 위에 #inlcude "endetool.h" 를 추가 해 준 다음, EnDeTool class 를 할당해서 쓰면 됩니다. 여러 기능을 제공하고 있는데 주된 기능은 다음과 같습니다.문자열을 AES-256 과 BASE-64 로 암호화 또는 복호화 단순 데이터를 AES-256 으로 암호화 또는 복호화 아래의 소스코드는 바이너리 데이터를 암호/복호화 하는 것만 들어 있긴 합..

    Developement/C/C++
    2014.03.06 15:52
  • Windows 에서 HDD 의 제조 번호와 Volume serial 을 알아 오는 소스 ( MinGW 호환 )

    PC 내에서 고유한 ID 정보를 가져 오는 방법중 하나를 들라면 보통 LAN 카드의 MAC 주소나 HDD 의 제조사 모델 정보와 고유 제조번호를 선택 할 수 있습니다. LAN 카드나 HDD 는 교체가 쉽게 가능하나, OS 를 설치 해야 하는 조건을 생각하면 오히려 HDD 가 좀 더 unique 한 정보를 만들수 있어 보이길래 만든 유틸리티 소스 입니다. MinGW 에서도 빌드 될수 있도록 만든 것이라 NTDDDISK.H 가 없어도 되도록 만들었습니다만, 조건이 컴파일시 (또는 프로젝트 매니저에) -DNO_NTDDDISK_H 를 지정해야 합니다. 해당 소스는 완전 공개이며, Code::Blocks 프로젝트로 만들어진 예제까지 포함 입니다. 경우에 따라서는 VisualStudio 에서 수정해서 쓰시는데 지장..

    Developement/C/C++
    2013.11.26 17:17
  • SHCC - Syntax Highlighter Code Converter

    TiStory 에 Syntax Highlighter 스크립트를 이용해서 코드를 올리가 점점 어려워 지고 있습니다. 아마 TiStory 자체의 CSS 나 내부 코드에 따른 정책 변화 등에 의한 여러가지 요건이 문제가 되는 듯 합니다만 .. 일일히 많은 코드를 일일히 변환 하기도 어렵고 해서 간단히 프로그램을 만들어 보았습니다. 이름은 SHCC 로서, 소스파일이나 클립보드에 있는 내용을 탐색기에서 끌어다 놓거나, Ctrl+V 로 붙여 넣기 하면 자동으로 여러 형태로 만들어 줍니다. 로 완성 되는 형태나, 로 처리 되는 방법 두가지 모두 지원하며, TiStory 에서 주의 해야 하는 < 를 < 로 바꿔 주도록 한 부분도 추가 되었습니다. 그래서 아래 코드가 ... #include #include #includ..

    내가 작업한 것들/소프트웨어
    2012.08.07 15:30
  • RageDCMV , Free DCM read/write library for standard C++

    DCM 파일을 읽고 쓰는 라이브러리를 공개 합니다. 이 소스 코드는 제가 직접 만든 것이며, 누구나 사용하고 활용 할 수 있되, 이 코드에 대한 저작권만 지켜 주신다면 아무런 제한없이 사용할 수 있습니다. 단, 저작권을 벗어난 권리행사 외에는 어떠한 책임을 지지 않으며, 본 소스코드로 제작하신 바이너리나 코드에 대해서는 일절 support 가 가능하지 않음을 먼저 알립니다. source code 는 gcc 에서 빌드 되도록 만들어 졌으며, CodeBlocks 10.05 에서 project 파일이 생성 되었습니다. 32bit, 64bit, MBCS, Unicode 모두 감안하여 만들어 졌습니다. 사용법이나, 활용에 대해서는 main.cpp 를 참조하시기 바라며, 개선하거나 변경 한 소스에 대해서는 반드시 ..

    내가 작업한 것들/소프트웨어
    2011.11.16 19:05
  • 리눅스용 비동기 소켓 서버 (Async Socket Server) 소스

    이 소스는 소켓 서버를 돌리기 위해 만든 소스 입니다만, 최초 제가 구한 것도 인터넷이고 (원래 만든 분이 누군지 모르겠습니다) 잘 주워다 지금 쓰고 있느라, GPL 에 따라 소스를 공개 합니다. 혹시 이 소스의 원작자가 되시는 분이 이 소스에 대해 권리를 주장하신다면, 내리도록 하겠습니다 ^^ 소스의 다운로드: 필요 사항: 이 소스를 컴파일 하기 위해서는 POSIX 를 준수하는 컴파일러가 필요하며, Cygwin 에 있는 gcc 나 (minGW 는 불가), 리눅스 자체의 gcc 에서 컴파일이 가능 합니다. 사용 예제: 이 소스는 현재 AsyncSock 과 SocketWrap 이라는 부분으로 나뉘어져 있습니다. SocketWrap 이라는 부분이 Sock 을 Class 로 좀 더 쓰기 편하게 만들어 져 있고..

    Developement
    2011.11.01 20:34
  • 일반 문자열을 바이너리형태의 문자열로 변환 하고 다시 역변환 하기.

    일부 프로그램들이 serial key 들을 16진수 값으로 받아서 처리하거나 하는 경우를 보신 분들이 계실 것 입니다. 이런 경우, 사람이 알아 볼수 있는 일반 ASCII 값으로 바이너리(16진수) 를 받아서 다시 원본 데이터로 변환 하는 경우 입니다. 회사 프로젝트에서 필요한 부분이 있어서 급하게 만든 코드인데, 나름 쓸만한 것 같아 공유 합니다. 길이 검사 등은 안 되어 있으므로, 재량껏 개조해서 마음대로 쓰세요 !

    Developement/C/C++
    2011.09.30 21:00
  • socket 의 recv() 는 항상 원하는 크기대로 오지 않는다 !

    이전의 버퍼를 다 받아 오지 않던 문제를 ... 그간 PC 에서 socket processing 하던 편리함에 빠져 그 근본을 잊었던 것 같습니다. 임베디드 보드가 지속적인 메모리의 malloc() 과 free() 때문인지 죽어 버리는 문제가 발생 하지만, 적어도 30MB 의 데이터를 지속적으로 500번 가량 전송 하는데 성공을 했습니다. 이유는 간단히, recv() 함수가 가진 특성을 그간 간과 했기 때문 입니다. socket 에서 recv() 로 원하는 크기가 다 넘어 오지 않는다. 이 사실을 제가 간과 하고 있었네요. 너무나 기초적인 부분인데, 어찌 이런걸 제가 그간 잊고 있었을까요? 그래서 코드를 다음과 같이 수정 하였습니다. int nRecvSize = 0; bool bRecvDone = fal..

    Developement/eLinux
    2011.09.28 18:56
  • MinGW 환경 C++ 에서 Thread 간편히 쓰기 위한 CustomThread 클래스!

    MinGW 으로 C++ 컴파일 해서 쓸시 , thread 처리를 위해 extern"C" 남발을 했던 기억이 있습니다. 아련한 기억인데 .. C++ 로 class 객체화를 하는데 있어 , thread 의 stdcall 함수 제작은 귀찮음의 걸림돌이 되었다고 생각 됩니다. 그래서 만들었던 것이 바로 이 CustomThread !!! 클래스 원형을 보면 다음과 같습니다. 그리고 실제 사용하는 입장에선 위의 클래스를 상속 받아, Setup 과 Execute(void*) 를 구현해 주면 되는 것 입니다. 예) 예제 소스는 CodeBlocks 로 만들어 졌습니다. 첨부 파일의 소스를 사용할 수 있으니 필요하신 분은 사용해 보시기 바랍니다. 본 소스는 공개로 만든 것 이므로 ,이 코드로 인해 발생하는 문제점은 제가 ..

    Developement
    2011.04.14 20:21
  • 블로그에 코드를 넣고 syntax highlighter 를 적용하자.

    제 블로그만 그런것이 아니고 대부분의 컴퓨터 언어를 다루는 블로그들이 자신들 만의 코드를 블로그상에 올릴때 대부분 사용하는 것이 바로 Syntax Highlight 기능 입니다. 이건 블로그 자체에서 구현된 것이 아니라 별도의 자바스크립트를 붙여야 구동이 가능하죠. 아주 예전에 구글에서 돌던 코드를 붙여서 사용하다가 얼마전에 새로운 버젼으로 갈아타게 되었는데요. 그걸 티스토리에 적용하는 방법을 알아 보도록 하겠습니다. 먼저 제작자의 홈페이지에서 해당 소스를 다운로드 받습니다. 상용으로 사용하지 않을 경우 제제는 없습니다만, 자신이 쓰는데 도움이 되었다면 1달러 이상 기부 할 수 있습니다. 다운로드 받으면 LGPLv3.txt 및 test.html 과 scripts , src, styles 폴더가 보입니다...

    어떻게 할까
    2009.10.26 17:08