본문 바로가기

전체 글1383

라우팅테이블 - ICMP 끊김과 목적지 설정 라우팅테이블 - ICMP 끊김과 목적지 설정 No route to Destination앞의 예는 모두 라우팅테이블에서 해당하는 것을 찾은 경우이다. 최종적으로는 default route가 선택되기도 하였다. 그렇다면 default route가 없다면 어떻게 될까? 그리고 주어진 목적지에 해당하는 것이 없는 경우에는 어떻게 될까? 해답은 route 될 IP datagram이 호스트에서 생성되었는가 아니면 forward 되어된 것인가에 달렸다. 만일 datagram이 host에서 생성되었다면 datagram을 보낸 application으로 "host unreachable" 또는 "network unreachable"이라는 에러가 리턴된다. 만일 datagram이 forward 된 것이라면, ICMP host.. 2017. 9. 13.
라우팅테이블, IP라우팅 초기화 및 설정 라우팅테이블, IP라우팅 초기화 및 설정 Initializing a Routing Table 라우팅테이블 entry가 어떻게 생성되는지는 아직 언급하지 않았다. interface가 초기화될 때마다(일반적으로 interface의 어드레스는 ifconfig 커맨드에 의해 세트 된다) direct route는 그 인터페이스에 대해 자동으로 생성된다. PPP link와 루프백 인터페이스에 대해서, route는 host(H flag가 세트 되어 있는)가 될 것이다. 이더넷과 같은 브로드캐스트 인터페이스에 대해서, route는 네트워크가 될 것이다. 직접 연결되지 않은 호스트나 네트워크에 대한 route는 어떤 형태로든 라우팅 테이블에 들어가야 한다. 일반적인 방법으로는 bootstrap time에 초기화 파일로부.. 2017. 9. 12.
[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.