본문 바로가기

개발

(30)
__cplusplus_3 멤버함수에 붙는 const 키워드의 역할 - 해당 멤버 함수가 상수 객체에 대해 호출될 함수이다.라는 사실을 알려줌. 상수 멤버 함수가 중요한 이유 1. 클래스의 인터페이스를 이해하기 좋게 하기 위해서. 2. 상수 객체를 사용할 수 있게 하자는 취지. const 키워드가 있고 없고의 차이만 있는 멤버 함수들은 오버로딩이 가능. 상수 멤버 함수의 의미 1. 물리적 상수성[physical constness] 혹은 비트수준 상수성 [bitwise constness] - 어떤 멤버 함수가 그 객체의 어떤 데이터 멤버도 건드리지 않아야 한다. 단, 정적 멤버는 제외. 2. 논리적 상수성[logical constness] - 일부 몇 비트 정도는 바꿀 수 있되, 그것을 사용자측에서 알아채지 못하게만 하면 상수 멤버..
__cplusplus_2 금일 본 내용을 정리 하기에 앞서 용어 정리를 해야겠다. 오버로딩 (Overloading) - 한 클래스내에 동일한 이름을 가지고 인자값의 수나 종류가 다른 메소드가 존재하는 경우 서로 오버로딩 (Overloading)관계에 있다고 한다. - 같은 기능을 수행하지만 인자 타입이 다를 경우 메소드를 오버로딩하여 사용한다. ex: class Test { Test (); ~Test (); int sum (int a, int b); float sum (float a, float b); }; 오버라이딩 (Overriding) - 상속관계의 클래스 간에서만 일어나게 된다. - 하위 클래스에서 상위클래스의 메소드를 재정의해서 사용하는 것이다. ex: class Parent { Parent (); ~Parent ();..
__cplusplus_1 C++ 공부를 위해 블로그에 가끔씩 현재 보고 있는 책의 내용을 정리 하기로 했다. 책의 제목은 Effective C++... 이 책에 대한 내용을 정리하면 저작권 침해인가???? 흐음...갑자기 두려운데..ㅡㅡ;;;; 금일 본 내용 정리 1. C++은 네가지 하위 언어들의 연합체 - C 언어 - 클래스 개념을 가지는 객체 지향 개념의 C++ - 일반화 프로그래밍 부분의 템플릿 C++ - STL 2. 전처리기 보다는 컴파일러를 가까이 하자. - #deifne을 상수로 교체 시 유의점 ( 참고 : 상수 정의는 대개 헤더파일에 넣는 것이 상례) 1. 상수 포인터를 정의 하는 경우 포인터 및 포인터가 가리키는 대상 까지 const로 선언. ex : const char * const test = "Let's s..
win32프로그래밍 시 console window 생성하기. 비주얼스튜디오를 이용 시 간단한 팁을 소개 합니다. win32프로그래밍 시에는 console 윈도우가 없습니다. 그래서 간단한 디버그를 위해 printf 문이나 cout을 쓸수가 없죠. 확인할 수 없어서. 하지만 아래와 같이 한 줄을 적어주면 console 윈도우를 사용 할 수 있습니다.ㅋㅋ #pragma comment(linker, "/entry:mainCRTStartup /subsystem:console" ) 주의할 부분은 mainCRTStartup 부분 입니다. 그 이유는 entry 함수를 적어주어야 하기 때문입니다. 저 같은 경우는 main()를 호출 하고 있어서 entry 부분을 mainCRTStartup 이라고 위와 같이 적었습니다. 그런데 WinMain ()을 호출할 경우에는 아래와 같이 W..
네트워크 간략 정리 1. Network ==== 개요 ==== * 네트워크의 구성에 대한 정리. ==== 네트워크 정의 ==== * 장비간의 통신이 가능하도록 서로 연결하는 것. ==== 네트워크 방식 ==== 1. 이더넷 - CSMA / CD 프로토콜 사용, 속도 : 10Mbps / 100Mbps. * CSMA / CD (Carrier Sense Multiple Access / Colision Detection) 1) carrier(네트웍에 나타나는 신호)가 있는지 감지. -> Carrier Sense 2) carrier가 존재하면 자기가 보낼 DATA는 잠시 대기. 3) carrier가 존재하지 않으면 무조건 자기 DATA를 네트웍상에 보냄. 4) carrier가 감지 안되어 동시에 몇몇 PC에서 자기 DATA를 보냄...
EZ_X5_5_minicom이용한 zmodem프로토콜을 통한 파일 전송 문제 시 해결책 본론에 들어가기에 앞서 joinc 팀블로그에 가입하였다. 온라인 커뮤니티 활동은 처음이라 설렘 반, 걱정 반, 기대 반..ㅋㅋ 의무적인 포스팅 보다는 관심가질 수 있는 포스팅이 되도록 노력해야겠다.ㅋㅋ (잘 부탁드립니다.^^) 다시 본론으로~~ minicom에서 zmodem프로토콜을 이용한 통신이 되지 않을 때 root터미널에서 lrzsz를 설치 한다. 명령문은 아래와 같다. yubi$ sudo apt-get install lrzsz lrzsz 란? - X, Y, Z modem 프로토콜을 통하여 파일 전송시에 필요한 패키지 이다. - 안타깝게도 좀 더 자세한 내용은 구글링을 해봐야겠다. 너무 늦은 시간이라 다음에 이 포스팅은 좀 더 다듬어야 하겠다.
MB404에 우분투 (ubuntu) 설치 vmware를 이용하여 ubuntu 를 설치 하였다. ubuntu 설치 목적은 EZ-X5의 효율적인 사용을 위해서이다. OS X에서 제공하는 터미널의 screen툴을 사용하여 EZ-X5에 대해서 공부할 예정이었으나 나의 내공 부족으로 인해 리눅스를 사용하여 EZ-X5에 대해 선행 학습 후 OS X에서 EZ-X5에 대해 좀 더 깊이 배워보자는 계획이다. 현재 ubuntu설치는 문제 없이 되었지만 사용함에 있어서 몇가지 문제점이 있다. 1. 한/영 변환. - 맥북 키보드에는 한영키가 없어서 따로 세팅을 해야 할 듯. 2. USB to Serial 케이블이 인식이 안됨. - 현재 OS X 에서는 케이블이 인식 되고 있는데 ubuntu에서는 인식 되지 않고 있다. - 의심 1. vmware에서 ubuntu를 사..
라이브러리 요약 정리 라이브러리 - 프로그래밍에 사용할 수 있게 만들어져 있는 함수와 변수들 묶음. - 미리 함수나 변수들이 컴파일되어 있음. - 소스 파일 컴파일 과정 중 링크만 하면 사용가능. 정적 라이브러리 - lib.a (ex)libc.a : 표준 C 정적 라이브러리). - 컴파일 과정에서 라이브러리내에 *.o 파일들이 실행 파일에 링크되어 삽입 됨. - 단점 : 1. 각각의 실행 파일에 *.o 파일들이 중복하여 링크되어 있기 때문에 하드디스크 공간 낭비. 2. 실행될 때 메모리 공간 낭비. ex ) a.c 소스파일 libc.a(표준 C 정적 라이브러리) 컴파일 하여 a 라는 실행 파일 만들어 짐 b.c 소스파일 libc.a(표준 C 정적 라이브러리) 컴파일 하여 b 라는 실행 파일 만들어 짐. 1. a, b 실행 파..

반응형