본문 바로가기

분류 전체보기264

[Programming] (윈도우 시스템 프로그래밍) 컴퓨터 시스템 디자인/레지스터 디자인 컴퓨터 시스템 디자인 CPU 는 종류가 많고(x64,arm,risc-v,mips), 표준이 없다.(CISC,RISC,VLIW 등 다양한 architecture 종류) 그래픽카드도 CPU 라고 할 수 있다. 다만 CPU 와 달리 GPU(Graphic Processing Unit) 라고 부르는데, GPU 는 CPU 와 비슷하게 연산을 하지만 그래픽 처리에 극히 제한되어있다. example : GPU 디자인 GPU 를 디자인할려면 H/W 전문가 그래픽알고리즘 전문가 INTERFACE 전문가 프로그래머 이런 사람들이 모여서 GPU 를 만든다. H/W 전문가 > LOGIC전문가 > ASIC 전문가, 우리나라에서는 ASIC 전문가가 주로 참여한다. ASIC 는 C 와 비슷하고, ASIC 는 논리게이트로 변환된다. .. 2020. 8. 17.
[Programming] (윈도우 시스템 프로그래밍) 64bit 기반 프로그래밍 / 에러검출, 에러코드가져오기, GetLastError() 64bit 기반 프로그래밍 64bit 기반 시스템에서 자료형에 대해 고려한 프로그래밍 이다. LLP64 vs LP64 32bit 시스템과 호환성을 중시한 모델. 운영체제 모델 char short int long pointer Windows LLP64 1byte 2byte 4byte 4byte 8byte UNIX LP64 1byte 2byte 4byte 8byte 8byte 64bit 와 32bit 공존의 문제점 int arr[10]={0,}; int arrVal=(int)arr; //데이터 손실 배열 arr 는 포인터다. 배열에서 값을 참조할때 arr[0] 으로 참조하는데, 이것은 *arr 과 같다. 포인터 이므로 8byte 의 크기를 가진다. 하지만 4byte 인 int 로 형변환을 하면 상위 4byt.. 2020. 8. 12.
[Programming] (윈도우 시스템 프로그래밍) Windows 32bit 와 64bit WIN32 vs WIN64 64bit 와 32bit 구분법 한번에 송수신 가능한 데이터 크기 (BUS) CPU 에서 처리 가능한 명령어의 크기 (Register 의 크기) 32bit -> 64bit 의 특징 프로그램으로 표현할 수 있는 범위의 증가 활용 가능한 메모리의 확장 (메모리에서 접근할 수 있는 범위 증가) 32bit 시스템에서는 포인터가 32bit 크기이고, 2^32-1 만큼 표현할 수 있다. 64bit 시스템에서는 포인터가 64bit 크기이고, 2^64-1 만큼 표현할 수 있다. ! 내컴퓨터 비트수 확인 제어판에 시스템에서 확인할 수 있다 ! 프로그래머 입장에서 64bit 특징 활용 가능한 메모리가 50byte 라고 가정해보자. (프로그램을 실행할때 할당하는 메모리는 고려하지 않는다.) exa.. 2020. 8. 12.
[Programming] (윈도우 시스템 프로그래밍) MBCS 와 WBCS 동시지원 MBCS 와 WBCS 동시지원 MBCS 는 기존 작성된 프로그램과의 호환성, Unicode 를 지원하지 못하는 환경에서 프로그램을 동작시킬때와 같은 이유로, WBCS 의 장점에도 불구하고 WBCS 로만 프로그램을 작성할 수 없다. 서버프로그램은 문제가 되지 않는다. 서버는 업데이트가 편리하고. 개인에게 요구 하지 않기 때문이다. 기업을 대상으로 하는 프로그램은 WBCS기반 프로그래밍이 가능하다. 하지만 최종 클라이언트(유저) 고려하면, MBCS 와 WBCS 동시지원하는 프로그램을 만드는게 좋다. 만약 MBCS, WBCS 기반의 프로그램을 각각 만든다면, 하나의 프로그램인데 두개가 존재하기때문에 하나바꾸면 다른 하나를 또 바꿔야하기때문에 유지보수가 어렵고, 배포하는과정에서도 문제가 나타난다. 이러한 이유로.. 2020. 8. 9.