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)

    태그

    AutoExp.dat C++ CreateFile CruiseControl.NET Effective C++ getProperty HEL ignore파일 Installer Isolation level iterator OSI POST PRODUCTION_MODE RandomAccessFile request RichEditCtrl Runnable SafeInt session startWebLogic.cmd time_t tlb UpdateWindow VC Vector VS2005 네트워크 리치에디트컨트롤 매핑모드 문서화 주석 문자열 분리 변환 사설 IP 성능 실행파일 주석 트레이아이콘 포앵카레 폰트 프로젝트관리 프로파일러 픽셀 형식 확장자

    메타

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