웹캠을이용한노트북도난경보시스템 (S.I.L.C) 팀명 :It's Real 담당교수님 : 이병천교수님 조장 : 최용현 (07) 조원 : 최철원 (07) 신준섭 (07) 김명진 (08) 정보보호학과 - 1 -
|
|
- 윤선 설
- 5 years ago
- Views:
Transcription
1 웹캠을이용한노트북도난경보시스템 (S.I.L.C) 팀명 :It's Real 담당교수님 : 이병천교수님 조장 : 최용현 (07) 조원 : 최철원 (07) 신준섭 (07) 김명진 (08) 정보보호학과 - 1 -
2 Ⅰ. 서론 목 차 Ⅰ- 1. 개발목적 Ⅰ- 2. 관련연구 1) OpenCV 라이브러리 2) DVR 시스템 3) Winpcap 소켓프로그램 Ⅱ. 본론 Ⅱ-1. 개발환경 Ⅱ-2. 개발일정 Ⅱ-3. 프로그램구성 1-1) Capture 프로그램 1-2) Send 프로그램 1-3) Receive 프로그램 2) 프로그램실행구성 Ⅲ. 결론 Ⅲ-1. 참고문헌 Ⅲ-2. 발표 PPT 자료 - 2 -
3 Ⅰ. 서론 Ⅰ-1 개발목적 Notebook(Labtop), TabletPC 등의발전으로이전자장비를휴대하는사람들이많습니다. 앞으로도꾸준한발전이계속돼서많은이용자가계속생길것입니다. 하지만이에반에이휴대용전자장비등은도난에있어서는매우취약한점을가지고있습니다. 그래서저희조는이런일의사후처리와예방에도움을줄수있는도난방지프로그램을개발하기로하였습니다. * 관련뉴스 etnews.com 박현선기사뉴스인용 출처사이트 :
4 Ⅰ-2 관련연구 1) OpenCV 라이브러리 Open Computer Vision 의약자로오픈소스컴퓨터비전 C 라이브러리이다. 원래는인텔에서개발하였으며, Window, Linux 등의여러플랫폼에서사용할수있다. 실시간이미지프로세싱에중점을둔라이브러리이다. 인텔 CPU에서사용하게되면속도의향상을볼수있는 Intel Performance Primitives(IPP) 를지원한다. 응용분야로는인간과컴퓨터상호작용 (HCI), 물체인식, 안면인식, 모바일로보틱스, 제스처인식등여러방면으로사용된다. 2) DVR 시스템아날로그영상감시장비인 CCTV를대체하는디지털방식의영상감시장비. CCTV에비해화질이뛰어난점외에도컴퓨터의하드디스크를저장매체로사용하기때문에녹화테이프를교체할필요가없고인터넷을통한실시간영상전송및원격지감시기능이있어네트워크로통합화하고있는정부및기관, 기업체들에게가장적절한영상감시시스템으로평가받고있다. DVR은전세계적으로연간 3조5000억원규모에달하는 CCTV 시장을향후 5년내에대체할것으로전망되고있으며장기적으로는 Home Security 등에응용돼개인시장으로도확대될가능성이높아성장잠재력이매우높은분야다. 3) winpcap 소켓프로그램 winpcap이란리눅스 / 유닉스에서이미유명한 Libpcap을윈도우개발환경에맞게포팅 ( 반도체디바이스에플라스틱수지를씌워서패키지하는수법의하나 ) 한것이다. win32 플랫폼에서네트워크패킷캡쳐를위한아키텍쳐이다. 커널레벨에서동작하는저수준의동적라이브러리인패킷필터와유저레벨에서동작하는고수준의시스템종속적인라이브러리를포함한다. 라이브러리라는말을대신하여아키텍쳐라부르는이유는패킷캡쳐는네트워크어댑터와 OS사이에서엄격한규칙이적용하는저수준의매커니즘이다. 특별히이러한네트워크작업은단순한라이브러리로충분하지않다. 처음으로캡쳐시스템은네트워크상에서전송되는저수준의데이터를읽기위해서 OS의시스템프로토콜을스택을우회하는방법이필요하다. 이것은 OS의커널레벨에서네트워크인터페이스드라이버에서직접적으로동작하는부분이요구된다. 이러한부분은시스템에종속이며 winpcap은 NPF라는디바이스드라이버를통해구현되었다. winpcap은윈도우버전별로다른드라이버버전을제공한다. 이드라이버는두가지중요한기능을제공하는데패킷캡쳐와패킷인젝션이다. 또한보다발전된필터시스템과모니터링엔진을제공한다
5 Ⅱ. 본론 Ⅱ-1. 개발환경 운영체제 : Microsoft Windows 7 32bit, 64bit 개발도구 : Microsoft Visual studio 2010 프로그래밍언어 : C/C++, MFC 라이브러리 : cv ( 기본컴퓨터비전, 영상처리주요알고리즘관련라이브러리 ) highgui ( 영상읽기, 윈도우관련, 카메라 / 동영상제어 ) cvcore ( 영상행렬을포함한다양한데이터구조지원라이브러리 ) Ⅱ-2. 개발일정월별내용조원역할분담및월별계획편성자료수집및각자취약한점연구중간점검및오류수정수정완료및마무리작업 9 월 10 월 11 월 12 월 1 월 2 월 3 월 4 월 5 월 최종보고서작성 Ⅱ-3. 시스템구상도 - 5 -
6 Ⅱ-3. 프로그램구성도 1-1) Capture 프로그램 #include "stdafx.h" #include "MFCtest.h" #include "MFCtestDlg.h" #include "afxdialogex.h" #ifdef _DEBUG #define new DEBUG_NEW #endif class CAboutDlg : public CDialogEx public: CAboutDlg(); enum IDD = IDD_ABOUTBOX ; protected: virtual void DoDataExchange(CDataExchange* pdx); // DDX/DDV support // Implementation protected: DECLARE_MESSAGE_MAP() ; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) void CAboutDlg::DoDataExchange(CDataExchange* pdx) CDialogEx::DoDataExchange(pDX); BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() - 6 -
7 CMFCtestDlg::CMFCtestDlg(CWnd* pparent /*=NULL*/) : CDialogEx(CMFCtestDlg::IDD, pparent) m_hicon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_pimage = NULL; void CMFCtestDlg::DoDataExchange(CDataExchange* pdx) CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_OPENCV_PIG, m_pic); BEGIN_MESSAGE_MAP(CMFCtestDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_TIMER() ON_WM_DESTROY() ON_WM_WINDOWPOSCHANGING() END_MESSAGE_MAP() // CMFCtestDlg message handlers BOOL CMFCtestDlg::OnInitDialog() CDialogEx::OnInitDialog(); ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* psysmenu = GetSystemMenu(FALSE); if (psysmenu!= NULL) BOOL bnamevalid; CString straboutmenu; bnamevalid = straboutmenu.loadstring(ids_aboutbox); ASSERT(bNameValid); - 7 -
8 if (!straboutmenu.isempty()) psysmenu->appendmenu(mf_separator); psysmenu->appendmenu(mf_string, IDM_ABOUTBOX, straboutmenu); SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); // Set big icon // Set small icon // TODO: Add extra initialization here capture = cvcreatecameracapture(1); //1 번캠으로부터캡쳐를실행 m_timer = FALSE; i = 0; CMFCtestDlg::start(); // 스타트정의를실행 AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);// 다이얼로그를백그라운드로실행 return true; // return TRUE unless you set the focus to a control void CMFCtestDlg::OnSysCommand(UINT nid, LPARAM lparam) if ((nid & 0xFFF0) == IDM_ABOUTBOX) CAboutDlg dlgabout; dlgabout.domodal(); else CDialogEx::OnSysCommand(nID, lparam); // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CMFCtestDlg::OnPaint() - 8 -
9 if (IsIconic()) CPaintDC dc(this); // device context for painting S e n d M e s s a g e ( W M _ I C O N E R A S E B K G N D, reinterpret_cast<wparam>(dc.getsafehdc()), 0); // Center icon in client rectangle int cxicon = GetSystemMetrics(SM_CXICON); int cyicon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.width() - cxicon + 1) / 2; int y = (rect.height() - cyicon + 1) / 2; else // Draw the icon dc.drawicon(x, y, m_hicon); CDialogEx::OnPaint(); HCURSOR CMFCtestDlg::OnQueryDragIcon() return static_cast<hcursor>(m_hicon); void CMFCtestDlg::start() IplImage* image = 0; // 매프레임당영상처리를한다. CvCapture* capture = cvcapturefromcam(1); //1번캠을불러온다. cvnamedwindow( "Camera", 1 ); // 그려줄윈도우이름을정의한다. cvresizewindow( "Camera", 320, 240 ); // 그려줄윈도우사이즈를정의한다. CTime time; // 파일저장위한시간변수 - 9 -
10 CString filename; // 파일명 를재정의한다. CvFont* font = new CvFont; // OpenCV 영상에그려줄폰트를초기화한다. cvinitfont( font,cv_font_hershey_simplex, 1, 1, 0, 2, 8); // 영상에그릴폰트 ); WSADATA wsadata; CString str; // 이변수에 IP주소가저장된다. HOSTENT *p_host_info; // 로컴컴퓨터의호스트네임을불러온다. IN_ADDR in; char host_name[128]=0, ; if(!wsastartup( DESIRED_WINSOCK_VERSION, &wsadata ) ) if( wsadata.wversion >= MINIMUM_WINSOCK_VERSION ) gethostname(host_name, 128); p_host_info = gethostbyname( host_name ); if( p_host_info!= NULL ) for( int i = 0; p_host_info->h_addr_list[i]; i++ ) memcpy( &in, p_host_info->h_addr_list[i], 4 str = inet_ntoa( in ); WSACleanup(); 정 for(int i=0 ;i<10 ;i++ ) // 이미지를저장할때파일번호를 0 번부터 10 번설 time = CTime::GetCurrentTime(); // 현재시간가져오는함수 다. cvgrabframe( capture ); image = cvretrieveframe( capture ); // 동영상파일을 image 에저장한
11 한다. cvshowimage( "Camera", image ); // 이미지를 Camera 윈도우에출력 // 영상에폰트를삽입한다. cvputtext( image, str, cvpoint(50, 50), font, cvscalar(0, 0, 255)); // 문자열변수를시간으로만듬 filename.format("%d_%d_%d_%d_%d",time.getmonth(),time.getday(),time.gethour(),time.ge tminute(),time.getsecond()); sprintf(savefile, "%s.jpg", filename); cvsaveimage(savefile, image); // image를파일로저장한다. waitkey(1000); // 1000ms의딜레이를발생시킨다. 즉, 1초에 1장의이미지를저장하게된다. cvreleasecapture( &capture ); cvdestroywindow( "Camera" ); //Camera윈도우를종료한다. void CMFCtestDlg::OnTimer(UINT_PTR nidevent) // TODO: Add your message handler code here and/or call default if(nidevent == 1000) m_pimage = cvqueryframe(capture); CDC* pdc; CRect rect; pdc = m_pic.getdc(); m_pic.getclientrect(&rect); m_cimage.copyof(m_pimage); m_cimage.drawtohdc(pdc->m_hdc, rect); ReleaseDC(pDC); CDialogEx::OnTimer(nIDEvent);
12 void CMFCtestDlg::OnDestroy() CDialogEx::OnDestroy(); // TODO: Add your message handler code here KillTimer(1000); void CMFCtestDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos) CDialogEx::OnWindowPosChanging(lpwndpos); // TODO: 여기에메시지처리기코드를추가합니다. //#if!defined(_debug) // 다이얼로그박스를보이지않게설정한다. lpwndpos->flags &= ~SWP_SHOWWINDOW; //#endif // Not _DEBUG
13 1-2) Send 프로그램 #include<stdio.h> #include<stdlib.h> #definehave_remote #include"pcap.h" #include"remote-ext.h" #defineimagesize256// 이미지파일레코드사이즈 #definepktsize272// 송수신패킷사이즈 u_charpkt_data[pktsize+1], buff[imagesize]; u_charmac[]=0xe8, 0x03, 0x9A, 0xB9, 0xD8, 0xB5,// 서버측MAC 주소 0x00, 0x90, 0xF5, 0xD8, 0x5F, 0x98,// 클라이언트MAC 주소 'Z', 'Q', 'Z', 'Q' ;// 패킷확인문자열 void main() pcap_if_t*alldevs;// pcap 장치정보변수구조체 pcap_if_t*d;// pcap 장치인터페이스구조체 pcap_t*adhandle;// 장치설정값구조체 u_charc; charerrbuf[pcap_errbuf_size]; inti, inum, no_interface=0, rec=0, size; charread_fname[100]; FILE*fpr; //size_tsize; if(pcap_findalldevs_ex(pcap_src_if_string, NULL, &alldevs, errbuf) == -1) // pcap_open() 으로열수있는장치list 생성함수 // 검사할장치위치, null, 장치정보변수, 에러메세지저장변수 fprintf(stderr,"error in pcap_findalldevs: %s\n", errbuf); goto error; printf("\n>> 네트워크인터페이스카드 \n"); for(d=alldevs; d; d=d->next)// 생성된장치list 출력 printf("\n %d) %s",++no_interface, d->name);
14 if(d->description) printf("\n (%s)\n",d->description); else printf("(no description available)\n"); if(no_interface==0) printf("\n>> 인터페이스가확인되지않습니다! WinPcap 설치여부를점검하세요!\n"); goto error; printf("\7\7\n.. 해당인터페이스번호를선택하세요 (1-%d)? ",no_interface); scanf("%d",&inum); if(inum < 1 inum > no_interface) printf("\n>> 인터페이스번호를잘못입력하였습니다.\n"); pcap_freealldevs(alldevs); // 동적할당한공간을해제 goto error; // 네트워크어댑터open for(d=alldevs, i=0; i<inum-1; d=d->next, i++); if( (adhandle = pcap_open(d->name, 100, PCAP_OPENFLAG_PROMISCUOUS, 1000, NULL, errbuf)) == NULL)// 장치이름, 캡쳐가능한크기, 모드, timeout, 원격장치권한, 에러버퍼크기 fprintf(stderr,"\n>> adapter open 오류! %s가winpcap에서지원되지않습니다!\n",d->name); pcap_freealldevs(alldevs); goto error; printf("\nlistening on %s\n",d->description); pcap_freealldevs(alldevs); // 동적할당한공간을해제 // 서버 MAC 주소세팅 for (i=0; i<16; i++) pkt_data[i]=mac[i]; printf("\n>> 서버측 MAC 주소 : "); for (i=0; i<6; i++) printf(" %2x", pkt_data[i]); printf("\n>> 클라이언트 MAC 주소 : "); for (i=6; i<12; i++) printf(" %2x", pkt_data[i]);
15 printf("\n"); again: printf("\7\7\n.. 서버와클라이언트MAC 주소가일치합니까 ( 예 = 1, 아니오 = 2 )? "); scanf("%d", &i); if (i<1 i>2) goto again; if (i==2) printf("\n>> MAC 주소를수정하세요.\n"); goto error; // 읽을파일지정 printf("\7\7\n\n.. 서버로전송할파일명을입력하시오 : ");// 파일경로및파일명입력 scanf("%s", read_fname); if((fpr=fopen(read_fname, "rb"))==null) printf("\n.. 파일을열수없습니다.\n"); goto error; printf("\7\7\n\n>> 파일 (%s) 을읽어서버로전송합니다.\n", read_fname); // 패킷구성및송신 while(1) size=fread(buff, sizeof(char), IMAGESIZE, fpr);// 이미지파일읽기 for (i=0; i<size; i++) pkt_data[i+16]=buff[i];// MAC 주소뒤에이미지수록 ++rec; pkt_data[size+16]=0;// 패킷번호, 종료문자삽입 // 패킷전송 if (pcap_sendpacket(adhandle, pkt_data, size+16)!= 0) fprintf(stderr,"\nerror sending the packet: %s\n", pcap_geterr(adhandle)); goto error; if (size!=imagesize) printf("\n>> 마지막패킷번호 : %4d, 패킷크기 : %3d바이트\n", ++rec, size+16); for(i=0;i<size+16; i++) c = pkt_data[i]; if((' ' > c) ('~' < c)) c = '.' printf("%c",c); printf("\n\n>> 파일전송이완료되었습니다.\n"); fclose(fpr);
16 goto end; end: printf("\7\7\7\7\7\n\n>> 작업이정상적으로종료되었습니다.\n\n"); exit(0); error:// 패킷전송오류발생 printf("\7\7\n\n>> 작업이비정상적으로종료되었습니다 \n\n"); exit(-1);
17 1-3) Receive 파일 #include<stdio.h> #include<stdlib.h> #definehave_remote #include"pcap.h" #include"remote-ext.h" #defineimagesize256// 이미지파일레코드사이즈 #definepktsize272// 송수신패킷사이즈 charwrite_fname[100]; charfname[100], buff[imagesize]; FILE*fpw; u_charmac[16]=0xe8, 0x03, 0x9A, 0xB9, 0xD8, 0xB5,// 서버측MAC 주소 0x00, 0x90, 0xF5, 0xD8, 0x5F, 0x98,// 클라이언트MAC 주소 'Z', 'Q', 'Z', 'Q';// 패킷확인문자열 u_charc; intrec=0; // 패킷처리기 void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data) structtm *ltime; chartimestr[16]; time_ttemp = header->ts.tv_sec; inti, pkt_length; pkt_length=header->len;// 캡쳐한패킷길이 ltime=localtime(&temp);// 패킷을캡쳐한시간 strftime(timestr, sizeof(timestr),"%h:%m:%s",ltime); for (i=0; i<16; i++)// MAC 주소및패킷확인문자열확인 if (pkt_data[i]!=mac[i]) goto skip; ++rec; for (i=0; i<pkt_length; i++) buff[i]=pkt_data[i+16]; buff[pkt_length-16]=0;// 버퍼종료문자삽입
18 fwrite(buff, sizeof(char), pkt_length-16, fpw); if (pkt_length!= PKTSIZE) printf("\n>> 마지막패킷번호 : %4d, 패킷크기 : %3d바이트\n", ++rec, pkt_length); for(i=0; i<pkt_length; i++) c = pkt_data[i]; if((' ' > c) ('~' < c)) c = '.' printf("%c",c); printf("\7\7\n\n>> 파일수신을완료했습니다 \n\n"); printf("\n>> 수신한파일은 %s입니다.\n", fname); again: printf("\7\7\n\n.. 이미지파일내용을확인하시겠습니까 ( 예 = 1 )?"); scanf("%d", &i); if (i!=1) goto again; fclose(fpw); system("cls"); system("dir"); printf("\7\7\n>> 수신한파일은 %s입니다.\n\n", fname); system("mspaint.exe"); exit(0); skip:; void main() pcap_if_t*alldevs;// pcap 장치정보변수구조체 pcap_if_t*d;// pcap 장치인터페이스구조체 pcap_t*adhandle;// 장치설정값구조체 char errbuf[pcap_errbuf_size]; int i, inum, no_interface=0; // 패킷을읽어쓰기할파일지정및오픈 printf("\7\7>> 시스템을기동합니다.\n\n"); // 인터페이스카드점검및지정
19 if(pcap_findalldevs_ex(pcap_src_if_string, NULL, &alldevs, errbuf) == -1) // pcap_open() 으로열수있는장치list 생성함수 // 검사할장치위치, null, 장치정보변수, 에러메세지저장변수 printf("\n>> Error in pcap_findalldevs: %s\n",errbuf); exit(-1); printf("\n>> 네트워크인터페이스카드 \n"); for(d=alldevs; d; d=d->next)// 생성된장치list 출력 printf("\n %d) %s",++no_interface, d->name); if(d->description) printf("\n (%s)\n",d->description); else printf("(no description available)\n"); if(no_interface==0) printf("\n>> 인터페이스가확인되지않습니다! WinPcap 설치여부를점검하세요!\n"); exit(-1); printf("\7\7\n.. 해당인터페이스번호를선택하세요 (1-%d)? ",no_interface); scanf("%d",&inum); if(inum < 1 inum > no_interface) printf("\n>> 인터페이스번호오류가발생했습니다.\n"); pcap_freealldevs(alldevs); // 동적할당한공간을free exit(-1); for(d=alldevs, i=0; i<inum-1; d=d->next,i++); if( (adhandle = pcap_open(d->name,65536,pcap_openflag_promiscuous,1000,null,errbuf)) == NULL)// 장치이름, 캡쳐가능한크기, 모드, timeout, 원격장치권한, 에러버퍼크기 printf("\n>> adapter open 오류! %s가winpcap에서지원되지않습니다!\n",d->name); pcap_freealldevs(alldevs); exit(-1); printf("\nlistening on %s\n",d->description); pcap_freealldevs(alldevs);// 동적할당한공간을해제
20 printf("\7\7\n\n.. 수신한이미지를저장할파일명을입력하시오 : ");// 파일경로및파일명입력 scanf("%s", write_fname); if((fpw=fopen(write_fname, "wb"))==null) printf("\n.. 파일을열수없습니다.\n"); exit(-1); // 비정상적인종료 for (i=0; i<strlen(write_fname); i++) fname[i]=write_fname[i]; printf("\n>> 지정한파일명은 %s 입니다.\n\n", fname); printf("\7\7\n>> 클라이언트에서전송하는신호를수신대기중입니다.\n"); // 패킷캡쳐시작 if((fpw=fopen(write_fname, "wb"))==null) printf("\n.. 파일을열수없습니다.\n"); exit(-1); // 비정상적인종료 pcap_loop(adhandle, 0, packet_handler, NULL);// 패킷처리기호출 exit(0);
21 기간 내용 조별주간활동보고서 진행내용 1 주차조원전체팀원각자아이디어및주제생각해보고검토 2 주차조원전체각자공부과목정하여계획서작성 약 2 개월 최용현 최철원 리눅스서버, C++(openCV Library), 웹프로그래밍공부 11 주차 약 1 개월 최용현신준섭최철원김명진 웹캠실행을위한 opencv 환경설정및자료수집 리눅스서버 (FTP, web hard) 구축및검토 16주차 17 ~ 19 주차 20 ~ 23 주차 24 ~ 27 주차 28 ~ 31 주차 32 ~ 35 주차 36 ~ 40 주차 최철원김명진최용현최철원최용현신준섭최철원김명진최용현최철원최용현최철원김명진신준섭 서버구축및 php프로그래밍을이용한웹페이지완성미비한점을수정 ( 웹페이지폐쇄 & web hard 구축 ) OpenCV 프로그램개발완료 web hard 서버최종구축완료파일전송프로그래밍 (winpcap) 자료조사웹캠실행및파일전송최종검토최종보고서작성및완성
22 Ⅲ. 결론 프로그램의원래의목적은프로그램실행후백그라운드상태에서자동적으로클라이언트가서버로파일을전송하여사용자가 Webhard나 FTP 서버등을이용하여사용자인증후사용자가보낸이미지파일을언제든지전송을받을수있도록하는것이목표이었지만개발을하면서여러난관에부족하여 Capture 프로그램및 Send&Receive 프로그램만완성. 지금현재는 Capture 프로그램을실행하여 Send&Receive 프로그램을수동적으로실행하여이미지파일을보낼수만있도록구현이되어있습니다. 본래의목적에도달하지않았지만조원들이서로열심히한계획한프로그램을제작하여여러모로색다른경험을할수있었고앞으로이프로그램의문제점을보안하는것으로노력을해보겠습니다. Ⅲ-1. 참고문헌컴퓨터비전커뮤니티카페 OpenCVKorea OpenCV 2 computer vision application programming cookbook (OpenCV 2를활용한컴퓨터비전프로그래밍 ) - 로버트나가니에 WinPcap 홉페이지
23 Ⅲ-2. 발표 PPT 자료
24 - 24 -
25 - 25 -
26 - 26 -
27 - 27 -
28 - 28 -
29 - 29 -
30 - 30 -
31 - 31 -
32 - 32 -
33 - 33 -
Programming hwp
4.2 메뉴및컨트롤들의추가 이절에서다룰예제프로그램은덧셈 / 곱셈문제를제시하고답을검사해주는프로그램이다. 이프로그램을실행하면두개의한자리숫자들이무작위로생성되어 "Number 1" 과 "Number 2" 옆의에디트컨트롤에나타난다. Exec 메뉴안에는 Renew라는메뉴항목이있으며, 이메뉴항목을선택할때마다숫자들은무작위로변경된다. Exec 메뉴안의 Change Level
More informationComtrol ID 레이블 Hotkey Callback 함수 ⑴ Button, IDC_BTN_DEPT, &Department, OnBtnDepartment ⑵ Button, IDC_BTN_EMP, &Employee, OnBtnEmployee ⑶ Button, IDC_B
adb.open(dsn) ;; DB 연결 (CompanyAccDB) adb.open(null, false, false, strdsn) ;; DB 연결 (DSN=CompanyAccDB) adb.executesql(strsql) ;; 결과가없는연산자 (Ins/Del/Upd) adb.close() ;; DB 연결끊음 CRecordset aqryset(&adb) ;;
More informationMicrosoft PowerPoint - IP11.pptx
열한번째강의카메라 1/43 1/16 Review 2/43 2/16 평균값 중간값 Review 3/43 3/16 캐니에지추출 void cvcanny(const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size = 3); aperture_size = 3 aperture_size
More informationPowerPoint 프레젠테이션
Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용
More informationK&R2 Reference Manual 번역본
typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct
More informationPowerPoint 프레젠테이션
KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More information: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print
1 : 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : 3 6 12 18 24 for(i=1; i
More information목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조
C++ 이용한포트스캔 Winpcap 이용기존수업시간 Client, BasicDump 코드이용 제출일 2016, 06, 01 전공사이버경찰학과 과목네트워크보안프로그래밍학번 10121702 담당교수소길자이름김주명 목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조 02 03 05 06 11 12 2 포트스캔코드 #include "stdafx.h"
More information2009년 상반기 사업계획
소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다.
10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다. (6) 둘다이동할수없으면, 경기가종료된다. (7) 가장많은세균을가진사람이이긴다. 10.2 기초지식
More informationThe Pocket Guide to TCP/IP Sockets: C Version
인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >
10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절
More informationThe Pocket Guide to TCP/IP Sockets: C Version
얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>
#include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0
More information13주-14주proc.PDF
12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float
More information歯Lecture2.PDF
VISUAL C++/MFC Lecture 2? Update Visual C ++/MFC Graphic Library OpenGL? Frame OpenGL 3D Graphic library coding CLecture1View? OpenGL MFC coding Visual C++ Project Settings Link Tap Opengl32lib, Glu32lib,
More informationMicrosoft PowerPoint - 04-UDP Programming.ppt
Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여
More informationMicrosoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]
TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()
More informationC 언어 프로그래밊 과제 풀이
과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍
More information(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -
(Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue
More informationÀ©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾
P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More information<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>
제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More informationuntitled
while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)
More information<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>
게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()
More information0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4
Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x
More informationMicrosoft PowerPoint - chap13-입출력라이브러리.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,
More information윈도우시스템프로그래밍
객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#1) 2013.09.27. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window
More information03장.스택.key
---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():
More information일반적인 네트워크의 구성은 다음과 같다
W5200 Errata Sheet Document History Ver 1.0.0 (Feb. 23, 2012) First release (erratum 1) Ver 1.0.1 (Mar. 28, 2012) Add a solution for erratum 1, 2 Ver 1.0.2 (Apr. 03, 2012) Add a solution for erratum 3
More information본 강의에 들어가기 전
C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o
More information歯9장.PDF
9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'
More informationbn2019_2
arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More informationint main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \
? 1 int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \n", &a); printf(" b : %x \n", &b); * : 12ff60,
More informationuntitled
자료형 기본자료형 : char, int, float, double 등 파생자료형 : 배열, 열거형, 구조체, 공용체 vs struct 구조체 _ 태그 _ 이름 자료형멤버 _ 이름 ; 자료형멤버 _ 이름 ;... ; struct student int number; // char name[10]; // double height; // ; // x값과 y값으로이루어지는화면의좌표
More informationuntitled
int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015
More informationchap10.PDF
10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern
More information<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>
쉽게풀어쓴 C 언어 Express 제 17 장동적메모리와연결리스트 이번장에서학습할내용 동적메모리할당의이해 동적메모리할당관련함수 연결리스트 동적메모리할당에대한개념을이해하고응용으로연결리스트를학습합니다. 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More informationvi 사용법
네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o
More informationChapter #01 Subject
Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned
More informationMicrosoft PowerPoint - chap10-함수의활용.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과
More informationPowerPoint 프레젠테이션
7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED
More informationchap7.key
1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )
More informationMicrosoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt
변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short
More information< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More information이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2
제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.
More informationC++ Programming
C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator
More informationuntitled
MFC MFC MFC AppWizard 來 MFC MFC 類 了 類 Document/View MFC Visual C++ AppWizard MFC 不 力 亮 來 不 Document View 不 列 AppWizard View 類 CEditView 列 列 說 行 不 了 Document/View MFC Application Framework 靈 OLE Document
More informationPowerPoint 프레젠테이션
@ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program
More informationiii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.
Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More informationMicrosoft PowerPoint - chap12-고급기능.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로
More information61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&
More information커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서
커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationMicrosoft PowerPoint - chap11-포인터의활용.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에
More informationMicrosoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]
소켓개요 참고문헌 : 컴퓨터네트워크프로그래밍, 김화종, 홍릉과학출판사 Socket 정의 Socket 은 Transport 계층 (TCP 나 UDP) 을이용하는 API 1982 년 BSD 유닉스 41 에서처음소개 윈도우즈의경우 Winsock 제공 JAVA 또한 Socket 프로그래밍을위한클래스제공 Socket Interface 의위치 5-7 (Ses, Pre,
More informationC프로-3장c03逞풚
C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07
More information6주차.key
6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running
More information[제1강] 텍스트를 입력하세요
제 14 강 채팅프로젝트 1-1 Visual C++ 프로그래밍 컴퓨터과학과 김강현교수 제 14강의학습내용소켓 (Socket) 서버와클라이언트 CAsyncSocket 와 Csocket Listen, OnAccept, OnReceive 소켓 (Socket) 의개요 TCP/IP 프로토콜을이용하여네트워크프로그램을개설하기위핚인터페이스 젂선과젂구사이에는소켓이라는것이있다.
More informationPoison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3
Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow
More informationuntitled
if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(
More information이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN
More informationPowerPoint 프레젠테이션
@ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field
More information졸업논문 되어자전거의현재정보를알려주게된다 시스템의동작절차그림 3-1 리더에서의자전거정보조회동작절차위에동작절차에서알수있듯이리더에서하는동작절차에서는크게 부분으로나눌수있다 리더에서에너지를보내 로부터데이터가전송되면자전거의정보를확인한다 여기서도난당한자전거인
신에서시작되었다 시스템은리더 정보를저장 하고리더와데이터를교환하는 리더와기업용 사람들이점점더건강을생각하게되고기름값또한고유가의시대로접어들면서자동차의비중이점점 응용프로그램사이에서중계하는미들웨어로구성되어있다 줄어들고있다 자동차의비중이줄어들면서자전거 시스템은 동호회 자전거출 퇴근등자전거를타는사람들은매년꾸준히증가하고있다 이에따라자전거도난사건또한매년증가추세에있다 현재자전거의도난방지를위해다양한자물쇠나잠금장치등이개발되어나오고있지만자전거도난사건자체는크게줄어들지않고있는게현실이다
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More information제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.
제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터
More information제1장 Unix란 무엇인가?
1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More information윤성우의 열혈 TCP/IP 소켓 프로그래밍
C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct
More informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More informationC++-¿Ïº®Çؼ³10Àå
C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include
More informationThe Pocket Guide to TCP/IP Sockets: C Version
1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.
More informationPowerPoint 프레젠테이션
Programming Languages 모듈과펑터 2016 년봄학기 손시운 (ssw5176@kangwon.ac.kr) 담당교수 : 임현승교수님 모듈 (module) 관련있는정의 ( 변수또는함수 ) 를하나로묶은패키지 예약어 module과 struct end를사용하여정의 아래는모듈의예시 ( 우선순위큐, priority queue) # module PrioQueue
More informationMicrosoft PowerPoint - lab14.pptx
Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver
More informationMicrosoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt
13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.
More information5.스택(강의자료).key
CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.
More informationhttp://cafedaumnet/pway Chapter 1 Chapter 2 21 printf("this is my first program\n"); printf("\n"); printf("-------------------------\n"); printf("this is my second program\n"); printf("-------------------------\n");
More information버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습
앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수
More information<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>
2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)
More informationC 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12
More informationMPLAB C18 C
MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C
More informationUI TASK & KEY EVENT
T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력
More information02 C h a p t e r Java
02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER
More informationuntitled
Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II
More informationMicrosoft Word - hci07-final-answer.doc
기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 다음문장의내용이맞으면 True, 틀리면 False를표시하시오.
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More informationuntitled
- -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int
More informationAPI 매뉴얼
PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned
More information(Microsoft Word - \301\337\260\243\260\355\273\347.docx)
내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자
More information