메모내용

CPP 가 쓰이는곳

CPP 는 포퍼먼스 이슈를 가지고 있는 곳 에 쓰인다. - Embeded - Realtime App - Finacial Industry - Legacy 하드웨어랑 친하다. 또한 하드웨어 에대한 IO 를 배울 수 있다. (CPU, Memory, GPU, Disk, NIC, Keyboard, monitor) HardwareFriendly 하드웨어랑 OOP 개념을 잡을 있다. 하드웨어 개념을 잡을 수 있다는것은, 성능상 이슈에 대해 하드웨어 단계에서 해결방법을 찾을 수 있다.

C++ : 장치 입출력

C++ 프로그래밍을 통해 각 장치에 대한 입출력이 가능합니다. 컴퓨터에는 여러가지 장치가 장착됩니다. CPU, GPU, Memory, NIC, KeyBoard, Monitor, ... 각 장치에 대한 입출력을 하는 방법을 배웁니다. 메모리 장치에 대고 값을 쓰고, 읽는것을 변수선언, 읽기, 쓰기 라 한다. CPU 장치에 대고 계산을 요청하는것을 연산 이라 한다. 키보드 장치 의 입력을 받아오는것을 표준입력, stdio 라고 한다. 모니터 장치 에 출력 하는것을 표준출력 , stdio 라고 한다. 하드디스크 장치 에 파일을 쓰고 읽는 방법을 File I/O 이라 한다. 그래픽카드 장치에 입출력을 하는방법을 배우는것을 DirectX 이라 한다. 통신을위해 네트워크 카드 장치 에 입출력 하는 방법을 배우는것을 SocketPrograming 이라 한다.

행위 값 연산 값 저장,쓰기,읽기 표준 입력 표준 출력 하드디스크 입출력 그래픽카드 입출력 네트워크카드 입출력
목표 값 계산 값 임시 저장 사용자의 입력 가져오기 사용자에게 계산 결과를 보여주기 값 영구 저장 그래픽 연산 네트워크 통신
필요 이론 연산자 할당자 장치 입출력 장치 입출력 File System 컴퓨터 그래픽스(벡터,행렬,변환) 네트워크
API
(장치 입출력 명령 기능제공자)
연산자 변수선언자 iostream, stdio iostream, stdio File System DirectX WinSock
Device Interface
(장치의 추상화된 객체)
stdin stdout FILE D3D12Device Socket
Device
(입출력 대상)
CPU Memory KeyBoard Monitor HardDisk ( HDD, SSD) GPU NIC
File I/O
S/W
UserMode
App
File
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
Device
Memory I/O - Value Read & Write
S/W
UserMode
App
File
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
Memory
CPU I/O - Operation
S/W
UserMode
App
File
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
CPU
GPU I/O - DirectX
S/W
UserMode
App
ID3D12Device
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
GPU
File I/O
S/W
UserMode
App
File
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
HDD
NIC I/O - Socket Programing
S/W
UserMode
App
Socket
SystemCall
KernelMode
IP / TCP
Driver
H/W
_______________
NIC
Standard I/O [ KeyBoard ]
S/W
UserMode
App
File
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
Keyboard
Standard I/O [ Monitor ]
S/W
UserMode
App
stdout
SystemCall
KernelMode
KernelObject
Driver
H/W
_______________
Monitor

입출력 함수

기준점은 Buffer 다. Process 에 선언된 변수

함수명 From To 무엇을 의미
getchar stdin Buffer 문자 stdin 으로부터 문자를 가져와 Buffer 에 입력
gets stdin Buffer 문자열 stdin 으로부터 문자열을 가져와 Buffer 에 입력
scanf stdin Buffer 포맷문자열 stdin 으로부터 포맷문자열을 가져와 각 Buffer 에 입력
sscanf Char Buffer Buffer
wsscanf
fscanf File Buffer
fopen File 파일 개방
fclose File 파일 닫기
fread File Buffer char File로부터 Byte 를 가져와 Buffer 에 입력
socket SOCKET Socket 개방
closesocket SOCKET Socket 닫기
recv Socket O Buffer Buffer char Socket O Buffer 로부터 데이터를 가져와 Buffer 에 입력
함수명 From To 무엇을 의미
putchar Buffer stdout 문자 Buffer 로부터 문자를 가져와 stdout 에 출력
puts Buffer stdout 문자열 Buffer 로부터 문자열을 가져와 stdout 에 출력
printf Buffer stdout 포맷문자열 각 Buffer 로부터 포맷문자열을 가져와 stdout 에 출력
sprintf
wsprintf
fprintf
fopen File 파일 개방
fclose File 파일 닫기
fwrite Buffer File char Buffer로부터 Byte 를 가져와 File 에 출력
socket SOCKET Socket 개방
closesocket SOCKET Socket 닫기
send Socket I Buffer Buffer char Buffer 로부터 데이터를 가져와 SOCKET O Buffer 에 출력