본문 바로가기

전체 글1401

[Qt GUI 프로그래밍] 트리뷰 사용 예제, QTreeView와 QFile 응용 [Qt GUI 프로그래밍] 트리뷰 사용 예제, QTreeView와 QFile 응용 Qt QTreeView와 QFile을 함께 사용한 GUI 프로그래밍 예제입니다. 우선 결과 화면부터 보여드릴게요. 제가 소개하는 소스는 특정 폴더의 ini 파일만 읽어 ini 내용을 트리뷰로 표현하는 것입니다. GUI 프로그래밍에서 자주 사용하는 것 중 하나인 트리뷰(QTreeView)는 부모와 자식 노드로 구성되는데요. ini 파일 이름은 부모 노드, ini 파일 내용은 자식 노드로 구성되어 있습니다. .ini 부모 노드(파일 이름) 아래에 자식 노드(ini 파일 내용)가 보이시죠? 아래 소개하는 소스는 위 Qt GUI 프로그래밍 트리뷰 소스입니다. 1234567891011121314151617181920212223242.. 2017. 9. 9.
인라인함수로 프로그램 코드 최적화 (C++ inline함수) 인라인함수로 프로그램 코드 최적화 (C++ inline함수) C++ 코드 최적화를 할 때 프로그램 코드엔 인라인함수가 있어야 합니다. C++ 객체지향 프로그래밍에 인라인함수가 갖는 장점을 적극적으로 활용하기 위함이죠. 이 포스트에선 함수 호출할 때 발생하는 오버헤드를 해결하는 인라인함수를 설명합니다. 프로그램 코드 최적화로 실행 속도를 개선하려면 반드시 인라인함수 사용이 필요합니다. 10.4 인라인함수들(Inline Functions) 인라인함수들은 함수 호출 때문에 초래되는 오버헤드를 제거할 수 있으며 여전히 보통의 함수들의 장점들을 제공한다. 그러나, 인라인화 하는 것은 만병통치약이 아니다. 어떤 상황들에서, 그것은 프로그램의 성능을 저하할 수도 있다. 이러한 특징을 현명하게 사용하는 것이 중요하다... 2017. 9. 8.
[IP 라우팅] 라우팅 테이블, ICMP Redirect에 대해서 [IP 라우팅] 라우팅 테이블, ICMP Redirect에 대해서 More Details아래 그림은 ICMP redirect message의 형식을 보여주고 있다. 네 가지의 서로 다른 redirect message가 있다. 그것들은 다음 그림에서와같이 code로 구별된다. ICMP redirect가 보아야 하는 세 개의 IP 주소가 있다. (1) redirect를 유발한 IP 주소(그것은 ICMP redirect의 데이터 부분에 있는 IP 헤더에 있다.)(2) redirect를 보내는 라우터의 IP 주소(그것은 redirect를 포함하고 있는 IP datagram의 source IP address이다.)(3) 사용될 라우터의 IP 주소(그것은 ICMP message의 4-7바이트에 있다.) ICMP r.. 2017. 9. 7.
[ICMP redirect] IP 라우팅 : FOWARD, REDIRECT 예제 [ICMP redirect] IP 라우팅 : FOWARD, REDIRECT 예제 To Forward or Not to Forward호스트들은 특별히 라우터로 구성되지 않는 한, IP datagram을 forward하지 않는다. 그렇다면 이러한 구성은 어떻게 이루어지는 것인가? 대부분은 ipforwarding이라는 커널 변수를 갖는다. 어떤 시스템은 이 변수가 zero가 아닐때만 forward를 한다. SunOS 4.1.x는 세가지 값을 가질 수 있다. -1은 forward하지 않고 이후 변수의 값을 바꿀 수 없음을 의미하고, 0은 기본적으로 forward하지 않으나 두 개 이상의 interface가 설정되면 1로 세트하고, 값이 1이면 항상 forward함을 의미한다. Solaris 2.x는 세 개의 값.. 2017. 9. 6.