"c" 검색결과 (18)
  • STL C/C++ 에서 자동 Locale 설정 하기.

    MinGW-W64 가 버젼이 올라 감에 따라 다국어 처리도 강화 되고 있습니다만, 표준 C/C++ 에서 자동으로 한국어 또는 구동되는 OS 에 맞게 std/stl 의 locale 설정을 하고 싶어서 아래 코드 처럼 만들었습니다.  물론 이는 Windows 에서만 해당 하는 부분이며, 사용을 위해서는 <windows.h> 와 <winnls.h> 를 #incldue 로 넣어 주어야 합니다. void procLocal..

    Developement/C/C++
    2016.11.28 14:18
  • MinGW-W64, CPU 명령어 빌드에 맞춰 구동 테스트 하기.

    만약 MinGW-W64 (또는 일반 MinGW) 에서 -mavx 또는 -march=corei7-avx 와 같은 빌드를 지시해서 만든 바이너리를 배포 하는데, 만약 이를 구동하는 PC 가 AVX 관련 명령어를 지원 하지 않는 환경에서 해당 바이너리를 구동하면? 이럴 경우 해당 바이너리는 그냥은 구동이 되나, AVX 관련 명령어가 실행 되는 위치에서 exception 을 뱉고, 해당 callstack 은 이전 pc 로 돌아가나, 여기서 문제..

    Developement/C/C++
    2016.11.28 14:11
  • MinGW 에서 pthread 와 빌드시 time 구조체 오류 날때.

     MinGW 에서 빌드를 할때 특정 라이브러리를 M-Sys 를 통해 빌드 하다 보면 다음 오류를 볼 경우가 많습니다. error: redefinition of 'struct timespec'  이런 경우는 대부분 pthread 내에 다음과 같이 정의 되어 있는걸 확인 해 볼 수 있습니다. #if !defined(HAVE_STRUCT_TIMESPEC) #define HAVE_STRUCT_TIMESPEC #if !defined(_TI..

    어떻게 할까/소프트웨어
    2015.04.03 11:23
  • HTTP/1.1 의 POST 때문에 살짝 고민한 문제 ....

     이전에 만든 HTTP/1.0 용 socket source 를 POST 까지 되도록 버그를 수정 하면서 HTTP/1.1 으로 호환되게 변경 하다 보니 알수 없는 문제를 격었습니다. 바로 해당 서버(Apache2 + PHP5) 에서 $_POST[x] method 를 이용해서 넘어 온 것이 없는 듯이 인식 한다는 점 이었습니다만, 여러번의 시도 중 다음 header 인자가 중요하다는 것을 알았습니다. 바로 Content-Typ..

    Developement/C/C++
    2015.02.23 17:12
  • [FLTK] Win32/X11 에서 FLTK 고속 rednering (또는 redraw)

     FLTK 에서는 사실상 Fl::check(); 나 Fl::wait(); 등으로 화면을 갱신 하는 방법이 있습니다. 하지만 이 방법을 사용할 경우 잘못된 화면 출력이나 프로그램 자체가 멈추는 문제가 발생되는 단점이 있습니다.  실질적으로 FLTK 는 강제적인 redraw 를 할수 있는 조건을 FLTK 자체가 결정 하는 구조이며, Windows 에서는 비활성화 된 Window 에서는 1초에 한번 그리는 경악적인 상태로 바뀝니다...

    Developement/C/C++
    2014.07.18 17:08
  • [FLTK] Fl_RGB_Image 로 부터 회전된 이미지 얻기.

     FLTK 는 여러 플랫폼에서 간단하면서 깔끔한 UI 를 만들기에 매우 좋은 GUI library 입니다만, 기본 기능에만 기준을 두고 있다 보니 이미지 처리 ( 리사이즈나 회전 등 ) 는 없는 것이 아쉬운 부분 입니다.  이번의 경우는 이미지를 회전 시켜 표시 해야 하는 경우 (위 이미지 처럼 뭔가 열심히 일 하고 있으니 기다려 주십사~ 하는) 기본으로 그리는 수준으로는 깔끔한 이미지를 얻기 힘듭니다.  이를 개선 ..

    Developement/C/C++
    2014.07.08 15:04
  • Porcess ID 로 해당 윈도우의 HWND 를 얻고 BMP 로 저장.

     윈도우 프로그래밍을 하다보면 가끔 다른 윈도우의 화면을 갈무리 해야 하는 경우가 생깁니다. (Capture 처럼) 이럴때 아래의 코드 중 HWND GetHandleFromPID(DWORD pid); 함수를 사용하면 간단히 해당 프로그램의 HWND 를 얻을 수 있습니다. #include <windows.h> #include "winproc.h" typedef struct _ProcessCallbackData { DWOR..

    Developement/C/C++
    2014.02.14 18:53
  • Windows API, 윈도우 에서 Drag Drop 으로 파일 목록 받기.

     간단히 Windows 에서 파일을 Drag&Drop 으로 받는 방법들을 쓰는 프로그램들이 더러 있습니다. 이를 Windows API 로만 처리 하려면 다음과 같은 코드가 필요 합니다. 먼저, DragAcceptFiles() API 로 이벤트를 받을 Windows Handle 을 등록 합니다. DragAcceptFiles( hWindow, TRUE ); 이는 최초 WM_CREATE 부분에서 처리하는 방법을 써도 되..

    Developement/C/C++
    2013.08.23 13:47
  • Dennis MacAlistair Ritchie, C 언어의 창시자의 사망 소식.

    전 세계의 수많은 공대생들 중 한명이었다면 보았을 이 문구. 우리 공대의 후예들은 이 언어를 온몸에 배우고, unix 계열의 현재 모든 운영체제를 사용하고 있는것이 현실 입니다. 아이폰과 안드로이드 모두 unix 를 계승한 BSD 와 linux 위에 올려진 OS 임을 감안하고, 이 모든것이 C 언어 위에서 개발이 기반으로 만들어 진다는 것을 감안 한 다면, 이 두가지를 만든 창시자 데니스 맥알리스터 릿치 님의 10월 8일 사망 소식은 오히려 ..

    HumanRights
    2011.10.14 18:18
  • Cygwin+GCC/G++ 에서 POSIX path 지정 오류 발생. (원인)

    우분투에서 개발이 좀 어려운 면이 있어, console application 개발용으로 Cygwin 과 g++ 를 CodeBlocks 10.05 에서 사용 중 이었습니다만, 구 버젼 cygwin 의 gcc 가 3.4.4 인 관계로 wstring 과 wostream, wistream 등에서 문제가 발생 했습니다. 그래서 gcc 4.5.1 을 쓰는 마지막 cygwin version 을 사용 했더니, 여전히 위와 같이 컴파일 하면 아무런 동작을 하지 않습..

    Developement/C/C++
    2011.10.11 21:20
  • 일반 문자열을 바이너리형태의 문자열로 변환 하고 다시 역변환 하기.

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