분류 전체보기1428 C# Dictionary 복사 예제, 딕셔너리 class copy 사용법 Dictionary 복사. C# Dictionary에는 복사 생성자가 있습니다. 기존 딕셔너리 객체를 생성자로 넘기면 그대로 복사가 되는데, 현재로썬 가장 효율적인 방법입니다. 그리고 기존 딕셔너리를 수정해도 복사된 데이터엔 영향을 주지 않습니다. 예제. 간단한 반복문을 구현하여 C# Dictionary 아이템을 직접 복사할 경우엔 코드 중복 및 예상치 못한 에러가 발생할 수 있습니다. 반복문 자체가 비효율적이란 것이죠. Here: 아래 예제에선 복사 생성자를 사용해 딕셔너리 내부 데이터를 복사합니다. using System;using System.Collections.Generic; class Program{ static void Main() { // // Create and initialize Dic.. 2017. 4. 6. Qt 5 모달 다이얼로그 띄우기 (Modal Dialog, QDialog) Ui 창에서 Qt 모달 다이얼로그 (modal dialog) 하나를 띄웁니다. 속성은 당연히 QDialog 입니다. 아래 그림처럼 Dialog를 새로 생성해야 합니다. 아래 그림은 qt 프로젝트에서 버튼이 없는 형태로 생성한 것입니다. 하지만, 다른 분들은 버튼이 있고 없고 크게 신경 안 쓰셔도 됩니다. 그저 다이얼로그만 생성하면 돼요. 아래는 Qt 모달 다이얼로그 띄우기 소스. #ifndef DLGCONFIG_H#define DLGCONFIG_H #include #include "ui_dlg_config.h" class DlgConfig : public QDialog{public: DlgConfig(QWidget *parent = 0); virtual ~DlgConfig(); private: Ui::u.. 2017. 4. 6. 버디 시스템 알고리즘: 메모리 동적 할당 (Buddy System) 외부 단편화와 버디 시스템 (external fragmentation)커널은 연속적인 페이지 프레임 그룹을 할당하는 견고하고 효율적인 정책을 세워야 한다. 이때 메모리 관리와 관련한 유명한 문제인 '버디 시스템 알고리즘 외부 단편화(buddy system external fragmentation)'를 해결해야 한다. 외부 단편화(external fragmentation)는 다른 크기의 연속적인 페이지 그룹을 빈번하게 할당하고 해제하여, 할당한 페이지 프레임 블록 사이에 작은 여유 페이지 프레임 여러 개가 '산재'하는 현상이다. 그 결과 나중에는 큰 크기의 연속된 페이지 프레임 할당을 요청할 때 이를 담을 충분한 여유 페이지가 있어도 메모리를 할당하지 못할 수 있다. 8개의 페이지 프레임이 사용되고 있지 .. 2017. 4. 4. Qt TCP 통신 연결 끊김 상태 확인: QTcpSocket 소켓과 랜선 뽑힘 Unplugging ethernet (이더넷 연결 끊김)Qt에서 tcp ip 소켓을 사용하다보면 끊어진 경우를 확인해야할 상황이 발생합니다. 굳이 Qt가 아니더라도 언제 어디서나 서비스 제공자는 무조건 통신 상태를 확인해야 합니다만, Qt 프로그래밍에선, 플러그가 뽑힌 경우를 체크하기 까다롭습니다. 왜냐면 QAbstractSocket 클래스가 제공하는 ConnectedState는 tcp ip 연결된 이후에 물리적인 플러그 뽑힘 현상을 알려주지 않습니다. 슬프게도, Qt가 제공하는 그 어떤 소켓 클래스들도 물리적인 플러그 Unconnected를 확인하질 못합니다. 그래서 돌아가는 방법을 찾아야 합니다. Simple Main Code (이더넷 연결 끊김 기본 소스)우선, 간단한 tcp ip Socket Pr.. 2017. 4. 3. 이전 1 ··· 310 311 312 313 314 315 316 ··· 357 다음