Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

[카테고리:] C/C++/VC++

[boost] weak_ptr

DarkKaiser, 2015년 3월 20일2023년 9월 6일

출처 : http://sweeper.egloos.com/3059940

1. shared_ptr

shared_ptr의 내용은 다음 링크를 참고하기 바라며, 특히 3-9 Circular reference 챕터를 자세히 읽어보기 바란다.(위 링크엔 shared_ptr의 circular reference에 대한 예제가 포함되어 있다)

2. weak_ptr

shared_ptr은 자신이 참조하고 있는 객체(메모리 주소)에 대해 reference counting을 함으로써, 객체의 수명에 직접적으로 관여한다. shared_ptr 객체

Continue Reading

[boost] shared_ptr

DarkKaiser, 2015년 3월 20일2023년 9월 6일

1. auto_ptr

TR1이 발표되기 전까지 std::auto_ptr이 C++ Standara library의 유일한 스마트 포인터였다.

스마트 포인터의 기본적인 특성인 자신이 소멸될 때 가리키고 있는 대상에 대해 자동으로 delete 해줘 메모리 누수 걱정은 없게 작성이 되어 있다.

하지만, auto_ptr은 유일 소유권 개념이 있어서, 객체가 복사되는 순간(복사생성 또는 대입연산) 원래의 auto_ptr은 바로 NULL 처리가 되어 버린다.

Continue Reading

[boost] boost 설치

DarkKaiser, 2012년 1월 12일2023년 9월 4일

출처 : http://shaeod.tistory.com/396

boost란 C++ 커뮤니티 및 C++ 개발자들이 개발하고 있는 오픈 소스 라이브러리의 집합으로써,

C++를 위한 멀티스레딩, 정규표현식, 의사 난수 발생, 선형대수 등을 지원하는 유용한 라이브러리 집합이다.

또한 C++ 표준에 영향을 미치기도 하며, 최신 표준인 C++11에 boost 라이브러리가 몇 가지 표준으로 채택되기도 하였다.

boost는 UNIX 및 Windows 등을 포함하여

Continue Reading

UNIX , Linux 의 OS별 구조체 Packing 방법

DarkKaiser, 2011년 6월 3일2023년 9월 4일

구조체 선언에서의 문제!!

리눅스는 이렇게 선언한다.

typedef struct
{
    char a;
    int b;
} __attribute__((packed)) myST;

AIX에서는

#pragma options align=packed
#pragma options align=reset

HP에서는

#pragma pack 1
#pragma pack 8

COMPAQ 에서는

#pragma pack 1
#pragma pack 0

Sun 에서는

#pragma pack(1)
#pragma pack()

[출처] UNIX , Linux 의 OS별

Continue Reading

16진수 유니코드 한글로 변환법

DarkKaiser, 2011년 3월 7일2023년 9월 4일

* 16진수 유니코드 문자 “%uD55C%uAC00%uC778” 같은 문자열을 한글로 변환하는 방법

  – 자바스크립트
    document.write(unescape('%ud55c%uae00'));
  – 자바에서 unescape() 사용하기
    http://hyosang.kr/tc/74
 
  – 닷넷
    1. Microsoft.JScript 어셈블리를 참조한다.
    2. escape    => Microsoft.JScript.GlobalObject.escape(“바꿀 문자열”);
         unescape => Microsoft.JScript.GlobalObject.unescape(“바꿀 문자열”);
 
    ※ 닷넷에서 ‘\uD55C’ 형태인 경우에는
Continue Reading

윈도우 절전 모드로 들어가기

DarkKaiser, 2011년 1월 5일2023년 9월 3일

SetSuspendState(0, 1, 0);

Continue Reading

하드디스크 절전 모드 전환 시간 설정하기

DarkKaiser, 2011년 1월 4일2023년 9월 5일
void TestFunc()
{
  MYGetActivePwrScheme pFunc1 = NULL;
  MYGetCurrentPowerPolicies pFunc2 = NULL;
  MYSetActivePwrScheme pFunc3 = NULL;

  HINSTANCE hInstance = NULL;

  hInstance = LoadLibrary( "powrprof" );
  if( hInstance )
  {
    pFunc1 = (MYGetActivePwrScheme)GetProcAddress( hInstance, "GetActivePwrScheme" );
    if( pFunc1 == NULL )
    {
      TRACE("GetActivePwrScheme Fail");
      ERROR_ROUTINE( hInstance );
    }

    pFunc2 = (MYGetCurrentPowerPolicies)GetProcAddress( hInstance, 
Continue Reading

모니터 끄기 API

DarkKaiser, 2011년 1월 4일2023년 9월 3일
::SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Continue Reading

VC8 의 dll binding 문제

DarkKaiser, 2010년 10월 10일2023년 9월 4일

http://somma.egloos.com/4079724

Continue Reading

윈도우 컨트롤 화면 깜빡임 해결 방법

DarkKaiser, 2010년 8월 31일2023년 9월 4일
int CSearchUserListCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CSortListCtrl::OnCreate(lpCreateStruct) == -1)
        return -1;

    // 배경 브러시를 생성한다.
    m_brushBackground.CreateSolidBrush(GetBkColor());

    return 0;
}

BOOL CSearchUserListCtrl::OnEraseBkgnd(CDC* pDC)
{
    return TRUE;
}

void CSearchUserListCtrl::OnPaint()
{
    CPaintDC dc(this); // device context for painting

    CMemoryDC memDC(&dc, &m_rtClientArea);
    memDC-FillRect(&m_rtClientArea, &m_brushBackground);
    CSortListCtrl::DefWindowProc(WM_PAINT, (WPARAM)memDC.m_hDC, 0);
}

void CSearchUserListCtrl::OnSize(UINT nType, int cx, 
Continue Reading
  • 1
  • 2
  • …
  • 12
  • Next

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    CAB 파일 CD-ROM CodeSign Collection DCOM DDR Encoding IHTMLDocument2 InstallShield Internet Explorer IwebBrowser2 LinkedList MRU netsh NSIS OCX Python SAX setup strsafe subversion toolbar Upcasting UTF8 VisualStudio XML XP 테마 다국어 로그 리소스 리팩토링 배열 버전관리 서명 스트림 시스템 에러메시지 실버라이트 유니코드 임시파일 입력 스트림 출력 스트림 탐색기 툴바 파이썬 한글

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes