본문 바로가기

분류 전체보기380

4.Win32비트 Vs Win64비트 Win32비트 Vs Win64비트 하드웨어 관점에서 Win32비트 Win64비트 구분 방법 -한번에 송수신 가능한 데이터 크기(BUS에 의존적이다.) -데이터 처리 능력 (CPU가 한번에 읽어 들일 수 있는 명령어 크기. 만약 16비트 데이터가 레지스터에 두개 있으면 32비트 일경우 한번에 패치 한다.) -cpu는 64비트로 처리하는데 bus가 32비트로 데이터를 이동한다면? 완벽한 64비트라고 할 수 없다. cpu , bus 둘다 일치해야 한다. 프로그래머 관점에서 32비트 Vs 64비트 32비트 시스템에서는 포인터는 32비트(4바이트) 이다. 64비트 시스템에서는 포인터는 64비트(8바이트) 이다. bus가 64비트 시스템에서 포인터를 32비트를 설정해서 프로그램을 만들었다면 bus는 주소를 어드레싱.. 2021. 1. 18.
3.아스키 코드 & 유니코드 아스키 코드 & 유니코드 문자 집합의 종류와 특성 MBCS 기반에서 한글사용시 문제점 실제로는 문자 길이는 5인데, 출력된 문자열의 길이가 7이다. 실제 한글 한문자를 두 글자로 인식을 했다. 이부분이 한글을 사용하는데 문제가 될 수 있다. 숫자만 놓고 보면 되고 MBCS가 효율적인데, 메모리보다도 더 안정선을 중요시해서 유니코드를 사용한다. WBCS 기반의 프로그래밍 (유니코드를 위한 자료형) MBCS.cpp의 유니코드 버전 문자열 조작 함수 문자열 입출력 함수 매개변수 전달인자 유니코드화 MBCS와 WBCS 동시지원 참고 뇌를 자극하는 윈도우즈 시스템 프로그래밍 정리 - 한빛출판네트워크 2021. 1. 18.
2.프로그램 실행과정 프로그램 실행과정 참고 cpu개발자는 cpu를 디자인 하면서 cpu명령어를 디자인 한다. cpu명령어에 따라서 cpu 구조가 변경되기도 한다. cpu 명령어 예) 0011 은 덧셈으로 인식하도록 디자인 0010은 마이너스로 인식하도록 디자인 .. 위의 예 처럼 만약 0011이 cpu로 들어가면 컨트롤 유닛에 의해서 덧셈으로 처리된다. 하지만 0011에게는 프로그래머가 직접 사용하기 어렵다. 그래서 0011 명령어에 ADD 같은 문자를 붙였다. 그리고 그 후에 ADD 같은 명령어도 사람이 직접 사용하기 어려워서, java, c 같은 고수준 언어가 만들어진다. 1.전처리기에 의한 치환작업 #으로 시작하는 지시자. ex) #include 전처리기 -> 컴파일러 -> 어셈플러 -> 링커 2.컴파일러에 의한 번역.. 2021. 1. 18.
1.시스템이란? 시스템이란? 하드웨어 + 운영체제 시스템 프로그래밍이란? 운영체제 자체의 기능을 활용해서 소프트웨어를 개발하는 것. 컴퓨터 시스템의 구성요소 컴퓨터 구조 : cpu, 캐쉬 운영체제 : 메인메모리, 하드웨어 cpu : 중앙처리 장치이다. 연산이 이루어지는 원리는 무엇인가를 이해해야 한다. 메인 메모리 : 램이다. 프로그램 실행 방식을 이해해야 한다. 입출력 버스 : 데이터 송수신이 이루어지는 원리를 이해해야한다. cpu에 대한 이해 1.A라는 파일(2+5 더하기 기능) 이 있다. 2.A라는 파일컴파일 3.실행파일(바이너리파일) 하드디스크에 저장 4.실행 5.실행을 위해서 숫자 2와 5 그리고 덧셈이라는 연산자가 메인메모리로 이동하게 된다. (메인 메모리로 올라가야 cpu가 연산을 할 수 있다.) 6.숫자 .. 2021. 1. 17.
청개구리 회사 다닐때는 이상하게도 책을 좀 보고 싶다는 생각이 든다. 하지만 막상 시간이 많이 생겼을때는 책을 거의 안보게 된다. 작년 2020년 12월쯤 휴가를 10일 정도 썼는데, 밖에도 못나가고 그냥 집에서 평소에 읽고 싶었던 책 이나 읽자고 생각했다. 그런데 막상 읽을려고 하니깐 오전에 2시간 정도 읽고, 좀 많이 쉬었다가 오후 7시쯤 2시간 읽게 되더라. 그래서 하루 평균 4시간 읽었던거 같다. 문제는 3일정도 지속하다가 그 이후에는 출근 생각이 났었다. 하.. 시간이 무한정 있으면, 회사 생각이 나고, 회사에서 일할땐 내 시간을 갖고 싶고... 나는 청개구리인가? 2021. 1. 17.
ios 파일생성 파일저장 파일삭제 ios 파일생성 파일저장 파일삭제 임시파일경로 생성 - (NSURL *)mytempFileURL{ NSString *path = nil; NSFileManager *fm = [NSFileManager defaultManager]; NSInteger i = 0; //fileExistsAtPath: 해당 경로에 파일이 존재하는 지 확인 while (path == nil || [fm fileExistsAtPath:path]) { path = [NSString stringWithFormat:@"%@output%ld.jpg" ,NSTemporaryDirectory(),(long)i]; i++; } //임시파일저장경로 return [NSURL fileURLWithPath:path]; } 파일삭제 //파일삭제 - (.. 2021. 1. 12.
우분투 기초 - 1 유닉스의 탄생 유닉스 운영체제가 탄생하면서 어플들은 하드웨어에 종속되지 않고, 운영체제에 종속된다. 어플들은 무조건 운영체제를 거쳐서, 하드웨어나 메모리에 접근할 수 있다. 이전에는 어플들이 컴퓨터에서 돌아갈려면 컴퓨터에 설치된 하드웨어에 맞아야 했는데, 유닉스 탄생이 후 운영체제에만 맞으면 된다. 쉘의종류 프롬프트에서 $사인은 일반사용자를 뜻한다. #사인은 ROOT 사용자를 뜻한다. sudo (super user do) su (switch user) #.파일시스템의 구조 운영체제를 사용하는 이유는 쉘이라는 명령 프롬프트를 통해서 프로그램을 자유롭게 실행. 실행하려면 프로그램을 다운로드해야한다. 만약 리눅스에서 파일을 다운로드 하면 다운로드 후, 어떤 파일에 저장이 될까? cd / (change dire.. 2021. 1. 11.
ios Photos framework 로 사진첩만들기 ios Photos framework 로 사진첩만들기 ios collectionview xib 파일 & customcell 예제 저번 포스팅에 이어서 이번 포스팅에서는 xib 파일로 collection view를 만들었다면, photos frame work를 이용해서 사진첩에 사진을 불러와서 collection view cell에 뿌려주는 예제를 만들어 보자. 순서 1.custom header 만들기 2.custom cell 만들기 3.collection view 컨트롤러photos 라이브러리 임포트 4.collection view 컨트롤러에서 1번 2번에서 만든 xib 파일 등록 5.collection view 컨트롤러에서 사진 가져와서 뿌려주기 예제 1.custom header 만들기 아래 그림처럼 .. 2021. 1. 9.
c언어 문자 치환 - 특정 문자 찾아서 바꾸기 c언어 문자 치환 - 특정 문자 찾아서 바꾸기 5-1. c언어 파일입출력 함수를 이용해서 파일의 단어수 체크하기(응용예제) 5-2. c언어 파일함수로 특정 문자 찾기(응용예제) 이전 포스팅에서 c언어 파일,문자함수를 이용해서 특정 단어수를 체크해서 출력하고, 특정 문자가 포함되어 있는 열을 찾아서 출력해주는 예제를 살펴보았다. 이번에는 c언어 함수를 이용해서 파일에서 문자를 치환하는 예제를 살펴보려고 한다. 예를들어 파일 여러 줄에 hi 라는 단어가 있다면 전부 찾아서 hello 로 변경해주는 예제이다. c 파일을 컴파일 한 뒤 실행파일명 문자치환을할 파일명 치환할대상문자 치환문자 순으로 입력하면 된다. 예) ./searchword.o log caa can searchword.o 실행파일에서 log 파일.. 2021. 1. 8.