케이피's 불량블로그!

블로그 이미지

케이피

OOP, Debugging... 인생의 숙제들..... [블로그의 글을 맹신하면 곤란]

Q_DECLARE_TR_FUNCTIONS

Qt의 오묘함 2021. 2. 9. 00:51

국제화 tr() 사용시 QObject 를 상속받거나 QObject::tr 을 사용할 필요가 없구나...

QCoreApplication::translate("Context", "English");

예) class TestHandler {

    Q\_DECLARE\_TR\_FUNCTIONS(TestHandler)

public:

    TestHandler()

    ~TestHandler()

}
Posted by 케이피

Memory Usage

잡다한 정보들(기타정보) 2017. 3. 3. 01:59

Memory(Private Bytes, Working Set, Virtual Bytes)

Private Bytes

  • 실행 파일이 요청한 메모리양 (실제로 사용하는 양과 다를수 있음)
  • 메모리 맵(공유 DLL)등을 제외

Working Set

  • 프로세스에 의해 사용되는 총 물리메모리
  • 메모리 맵(공유 DLL)파일과 다른 리소스도 포함되므로 Private Bytes 보다 정확한 측정값

Virtual Bytes

  • 전체 프로세스에서 차지하는 전체 가상 주소 공간
  • 메모리 매핑파일(공유 DLL)을 포함한다는 점에서 Working Set 과 유사하지만 대기 목록의 데이터와 이미 페이징되어 디스트의 페이지 파일에 저장되어있는 데이터도 포함
  • 로드가 심한 시스템의 모든 프로세스에서 사용되는 총 Virtual Bytes는 실제로 시스템에 비해 많은 메모리를 추가.

Private Bytes(PB)Working Set(WS)Virtual Bytes(VB)
실제 할당된 메모리 + 페이지파일 사용량non-paged PB + 메모리 매핑 파일WS + Paged PB + 대기목록

내용 정리

http://stackoverflow.com/questions/1984186/what-is-private-bytes-virtual-bytes-working-set

윈도우는 가상 메모리 방식으로 프로세스 메모리를 관리한다. 그런데 가상 메모리라는 것이 페이지 파일(Pagefile, pagefile.sys)을 이용하는 것이기 때문에 순수하게 물리 메모리(RAM)만을 이용하는 것보다 속도가 느릴 수 밖에 없다.
물리메모리에 상주해 있는 데이터는 단순히 해당 주소를 참조해서 Read/Write하면 되지만, 페이지 파일에 존재하는 데이터를 Read/Write 하려면 페이지폴트(Page Fault), 페이지 스왑(Page Swap)과정을 거쳐야만 하기 때문이다.
따라서 윈도우는 이를 좀더 보완하기 위해서 프로세스 워킹 셋(Process Working Set)이라는 것을 두어서 프로세스의 메모리 처리 속도를 향상 시켜준다. 즉 프로세스가 자주 참조하는 데이터를 물리 메모리 영역에 상주시켜서 페이지 폴트나 페이지 스왑 과정 없이 해당 데이터를 참조할 수 있게 해준다.
각 프로세스는 자신만의 프로세스 워킹 셋을 가지며, 프로세스 워킹셋에는 해당 프로세스가 자주 참조하는 코드 페이지(Code Pages)와 데이터 페이지(Data Pages)가 포함된다.
만약, 프로세스가 프로세스 워킹 셋에 존재하지 않는 페이지를 참조하게 되면 페이지 폴트가 발생한다. 그리고 VMM(Virtual Memory Manager)은 해당 페이지를 프로세스 워킹 셋에 추가한다. 물리 메모리가 부족한 상황에서는 VMM이 물리 메모리 확보를 위해서 프로세스 워킹셋에서 오랫동안 참조되지 않은 페이지와 자주 참조되지 않은 페이지를 제거한다. 이러한 과정을 Trim이라고 하며, Trim 작업이 많이 수행될수록 페이지 폴트가 발생하는 빈도는 증가하게 된다.
페이지 폴트의 발생 빈도가 증가하면 그만큼 메모리 처리속도가 증가할 수 있다고 볼 수 있겠지만, 어차피 자주 참조되지 않는 페이지들은 프로세스 워킹셋에서 제거하는 것이기 때문에 그 영향은 미비하다고 볼수 있으며, 오히려 효율적인 메모리 활용과 가용 메모리 공간 확보 측면의 장점을 가진다고 볼 수 있다.

출처 : http://egloos.zum.com/yunsoul/v/4973792

Posted by 케이피

Excel Automation 이미지를 링크가 아닌 파일에 삽입하기

카테고리 없음 2012. 7. 18. 09:29

_Worksheet m_sheet;


LPDISPATCH lpDispShape;

lpDispShape = m_sheet.GetShapes();

CShapes shapes;

shapes.AttachDispatch(lpDispShape);

shapes.AddPicture(

a_sPicturePath, //Filename

FALSE, //LinkTofile

TRUE, //SaveWithDocument

a_fLeft, //Left

a_fTop, //Top

a_fWidth, //Width

a_fHeight); //Height


shapes.ReleaseDispatch();


대충 요정도로 해주면 됨

사전 세팅은 말안해도 아시겠죵~?

Posted by 케이피
이전페이지 다음페이지
블로그 이미지

OOP, Debugging... 인생의 숙제들..... [블로그의 글을 맹신하면 곤란]

by 케이피

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • dbgView
  • excel
  • IME
  • LPCSTR
  • OOP
  • 안드로이드
  • 8강전
  • CString
  • XML
  • Emma Stone
  • Automation
  • 유로2008 일정
  • debugging
  • MFC
  • 객체지향
  • 엠마스톤
  • CView
  • 최강 볼걸
  • c#
  • bug
  • vs2008
  • CNN
  • JAVA 맛보기
  • 최적화?
  • SmartClient
  • Mentor
  • activex
  • MFC Tip
  • trace
  • DLL

글 보관함

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카테고리

전체보기 (98)
Qt의 오묘함 (1)
영양가없는이야기(개인사) (1)
주체못할파괴본능(디버그) (5)
넌왜C++을C처럼쓰냐?(OOP) (2)
잡다한 정보들(기타정보) (53)
귀찮아...(유용링크) (13)
참 잼난다(취미) (6)
JAVA 의 향기~(자바) (2)
코딩을부탁해(Rapid Coding) (0)
베스트똘추짓(개고생리스트) (11)
매운핫소스(허접소스) (1)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
케이피's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

케이피's 불량블로그!

OOP, Debugging... 인생의 숙제들..... [블로그의 글을 맹신하면 곤란]

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 전체보기 (98)
    • Qt의 오묘함 (1)
    • 영양가없는이야기(개인사) (1)
    • 주체못할파괴본능(디버그) (5)
    • 넌왜C++을C처럼쓰냐?(OOP) (2)
    • 잡다한 정보들(기타정보) (53)
    • 귀찮아...(유용링크) (13)
    • 참 잼난다(취미) (6)
    • JAVA 의 향기~(자바) (2)
    • 코딩을부탁해(Rapid Coding) (0)
    • 베스트똘추짓(개고생리스트) (11)
    • 매운핫소스(허접소스) (1)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바