Inline함수 문제, C++ 인라인이 실패하면? Inline함수가 인라인화될 수 없을 때 무슨 일이 발생하는가? 이론적으로, 컴파일러가 함수를 Inline함수를 거부할 때 그 함수는 보통의 함수처럼 다루어진다. 컴파일러는 그것을 위한 객체 코드를 생성하며 함수의 invocations는 그것의 메모리 주소로의 점프로 변환된다. 불행하게도 함수를 outline 화하는 것의 결과들은 그것보다 더 복잡해진다. 클래스 선언에서 Inline함수를 정의하는 것은 흔한 일이다. 예를 들면, 123456789101112// filename Time.h#include#include using namespace std; class Time{public: inline void Show() { for (int i = 0; i
라우팅테이블 - 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..
라우팅테이블, IP라우팅 초기화 및 설정 Initializing a Routing Table 라우팅테이블 entry가 어떻게 생성되는지는 아직 언급하지 않았다. interface가 초기화될 때마다(일반적으로 interface의 어드레스는 ifconfig 커맨드에 의해 세트 된다) direct route는 그 인터페이스에 대해 자동으로 생성된다. PPP link와 루프백 인터페이스에 대해서, route는 host(H flag가 세트 되어 있는)가 될 것이다. 이더넷과 같은 브로드캐스트 인터페이스에 대해서, route는 네트워크가 될 것이다. 직접 연결되지 않은 호스트나 네트워크에 대한 route는 어떤 형태로든 라우팅 테이블에 들어가야 한다. 일반적인 방법으로는 bootstrap time에 초기화 파일로부..
[Qt GUI 프로그래밍] 트리뷰 사용 예제, QTreeView와 QFile 응용 Qt QTreeView와 QFile을 함께 사용한 GUI 프로그래밍 예제입니다. 우선 결과 화면부터 보여드릴게요. 제가 소개하는 소스는 특정 폴더의 ini 파일만 읽어 ini 내용을 트리뷰로 표현하는 것입니다. GUI 프로그래밍에서 자주 사용하는 것 중 하나인 트리뷰(QTreeView)는 부모와 자식 노드로 구성되는데요. ini 파일 이름은 부모 노드, ini 파일 내용은 자식 노드로 구성되어 있습니다. .ini 부모 노드(파일 이름) 아래에 자식 노드(ini 파일 내용)가 보이시죠? 아래 소개하는 소스는 위 Qt GUI 프로그래밍 트리뷰 소스입니다. 1234567891011121314151617181920212223242..