학점은행제/시스템프로그래밍
-
[시스템프로그래밍] 시스템 프로그래밍 프로젝트 디자인학점은행제/시스템프로그래밍 2021. 1. 18. 16:47
에러 코드 확인 1) 오류를 해결하기 위해 오류의 원인과 해결방법을 확인해보자 Windows 시스템 함수 호출 시 오류 발생 GetLastError 함수 호출을 통해 오류 원인 확인 가능 Windows 시스템 함수 오류 발생 시 NULL을 반환 2) 에러코드가 정말 많은데 그중에 500~900번대에서 자주 보이는 에러 코드를 확인해보자 ERROR_ARITHMETIC_VERFLOW 534 Arithmetic result exceeded 32bit. ERROR_PIPE_CONNECTED 535 There is a process on other end of the pipe ERROR_PIPE_LISTENING 536 Waiting for process to open the other end of the pip..
-
[시스템프로그래밍] 64비트 기반 프로그래밍2학점은행제/시스템프로그래밍 2021. 1. 18. 16:09
데이터 손실 1 데이터를 송수신하는 버스의 크기가 64차선이냐 32차선이냐에 따라 64비트, 32비트를 구분 할 수 있다 소주잔을 맥주잔에 담을 수 있지만 맥주잔을 소주잔에 담을 수 없듯이 정수형 크기 40바이트를 4바이트에 담을 수 없다. 주소값을 출력하기 위해 int 변수 지정 32 비트 시스템에서 정상 출력되는 int, pointer -> 4byte 64비트 pointer -> int, long 4byte 정수형 형변환 불가능 *포인터(pointer)는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. #include int main(void) { int arr[10]={0}; // 배열의 크기 10자리를 만들어 놨다 - 40바이트 //데이터 손실이 발생 i..
-
[시스템프로그래밍] 64비트 기반 프로그래밍 1학점은행제/시스템프로그래밍 2021. 1. 15. 12:15
WIN32와 WIN64 64비트와 32비트의 구분 방법 1) 구분의 두가지 기준 - 한번에 송수신 가능한 데이터의 크기로 구분함 - 데이터 처리 능력(명령어를 포함)으로 구분함 프로그래머 입장에서의 64비트 컴퓨터 1) 32비트 --> 64비트 - 프로그램으로 표현할 수 있는 범위의 증가 주소값을 표현하기 위해서 4비트를 사용함(2의4제곱) 주소값의 이동 및 연산 --> 2의 32제곱 (표현 가능한 주소 범위 4G) --> 2의 64제곱(수십배) - 표현할 수 있는 메모리의 전체 크기가 수십배 증가한다 - 0000 부터 1111 까지 총 16자리를 가지고 실제 주소값을 표현하기에는 너무나도 부족함 2) 내부 메모리에 해당하는 램의 주소 - 주소의 표현 범위가 넓으면 좋은 이유는 한번에 처리할 수 있는 데..