반응형

<개인공부> 261

[C++] string 클래스 만들어보기.

공부를 하기 위해 String class 을 직접 만들어 보았습니다.0) 설명 (Intro)C++을 학습하다가 String 클래스를 직접 만들어 보는 실습이 있어서 작성하게 되었습니다.char * , 동적할당을 이용하여서 만들었습니다.string s1("문자열") 과 string s1 = "문자열" 을 통하여 문자열을 초기화 및 입력이 가능하도록 하였습니다.또한 string의 덧셈(+), 더하고 대입(+=), 출력(), 비교(==)를 연산자 오버로딩(operator)을 통하여 만들었습니다.1) 코드 (Code) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859..

[C언어] 동적할당 정리1 (malloc, realloc, calloc, free 함수)

1) 함수 종류 및 설명.아래 링크로 가시면 좀더 자세히 나와있습니다. 아래 링크가 이번에 작성한 내용입니다.2018/10/31 - [/[C언어 & C++ 언어]] - [C 언어] 동적할당 정리2 (malloc, free 예제)프로그램 실행 도중에 필요한 메모리 공간을 할당하고 사용 후 해당 공간을 해제하는 것. 헤더파일 : 메모리 할당 함수 - malloc 메모리 할당 및 초기화 - calloc 메모리 추가 할당 - realloc 메모리 해제 함수 - free. 2) 함수 원형 void *malloc(size_t size); 할당받을 메모리 크기를 인자로 받음ex) int * arr = (int *)malloc(sizeof(int) * n); //인자의 갯수가 n개의 배열을 동적할당한다(그만큼의 메모리..

[운영체제] 스케줄링 알고리즘

안녕하세요 BlockDMask 입니다.오늘은, 운영체제에서 프로세스의 스케줄링에 대해 알아보겠습니다. 1) 스케줄링(Scheduling)이란.실행중인 모든 프로세스들에게 골고루 CPU를 할당하는일. 멀티 프로세스를 지원하는 운영체제의 스케줄러가 담당한다. 스케줄러는 일정한 기준(스케줄링 알고리즘)에 의거하여 스케줄링을 한다.2) 선점형 운영체제, 비선점형 운영체제 (Preemptive OS, non-preemptive OS)Preemptive OS - 현재 실행중인 프로세스A보다 높은 우선순위를 가진 프로세스B가 등장하면 스케줄러에 의해 실행 순서가 조절된다. - 우선순위가 높은놈이 오면 현재 running 상태에 있는 프로세스A가 ready상태로 밀려가고 프로세스 B가 running 상태로 CPU를 할..

[Dev C++ 설정] 괄호 자동완성 없애는법.

안녕하세요!! BlockDMask 입니다. 오늘은 Dev C++ 설정 변경에 대해서 알아보도록 하겠습니다. 저는 큰따옴표나 괄호 등을 제가 직접 치는 습관이 들어서, dev C++ 에서 괄호나 작은 따옴표 큰 따옴표 등이 자동완성되서 불편했습니다.. 매우.자동완성에 불편함을 느끼시는 분들이 편하게 setting 할 수 있도록 정리해보려고 합니다.>tools>Editor Options 를 클릭합니다. Completion>SymbolCompletion 창으로 들어갑니다.! 그다음 Enable symbol completion을 체크 해제!!!! 하고 OK를 누르면. 이제 더이상 자동완성이 되지 않습니다. 간단하군요.그럼 다시 코딩하러 가보겠습니다.

[운영체제] 프로세스란? (스케줄링, 메모리구조, 상태변화)

1. 프로세스(process)란?프로세스(process)란 실행중에 있는 프로그램(Program)을 의미한다. 스케줄링의 대상이 되는 작업(task)과 같은 의미로 쓰인다. 프로세스 내부에는 최소 하나의 스레드(thread)를 가지고있는데, 실제로는 스레드(thread)단위로 스케줄링을 한다. 하드디스크에 있는 프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 된다. 이 순간부터 프로세스라 불린다. 2. 프로세스(process)의 메모리 구조 (프로세스 하나당 하나씩 존재한다.) + 손으로 그린.... 메모리 구조.. (똥손입니다.)Code 영역 : 프로그램을 실행시키는 실행 파일 내의 명령어들이 올라갑니다. (쉽게 말하면 소스코드가 올라간다고..

[UNIX] 시그널(Signal) 기본설명 및 함수

Unix에서 사용하는 Signal에 대해 알아보겠습니다. (Linux도 동일하려나.. 어짜피 조상은 같고 커널에서 제공하는 시스템 콜이니까..)1. 시그널(Signal) 이란?: Signal이란 Software interrupt로, process에 무엇인가 발생했음을 알리는 간단한 메시지를 비동기적으로 보내는 것이다.: Signal을 받은 프로세스는 Signal에 따른 미리 지정된 기본 동작(default action)을 수행할 수도 있고, 사용자가 미리 정의해 놓은 함수에 의해서 무시하거나, 특별한 처리를 할 수 있다.: 예를 들어 프로세스가 진행중에 Ctrl + c 를 누른다거나, 프로세스에 kill 명령이 내려지는것이 발생했을 때 Signal이 발생한다. 2. 시그널(Signal)의 종류: 시그널은..

[vi 명령어] vi 명령어 정리

[리눅스나 유닉스에서 사용하는 vi 편집기 명령어 총 정리 입니다.] 1. vi 편집기 명령어 전체 구조 살펴보기 2. vi 명령어 총정리 (자주 사용하는 것은 색으로 표시)3. 제가 진짜로 사용하는 vi 알짜 명령어 정리 4. vi 편집기 예시 (vi 명령 사용해서 편집 저장까지 흐름) 1. vi 편집기 명령어로 들어가기 전에 전체적인 구조 살펴보기 : linux, unix 에서 사용하는 vi 편집기는 명령모드, 입력모드, 마지막 행 모드로 총 3가지 모드로 구성되어있습니다. : 흔히 사람들이 말하는 vi 명령어는 이 세가지 모드를 자유자재로 왔다갔다 하면서 코드나 글을 작성하는 것을 말합니다. i) 명령 모드(command mode) - 처음 vi 명령어로 vi를 시작하게 되면 들어가게 됩니다. 여기..

[UNIX] 시스템 콜과 라이브러리 함수

1. 유닉스 시스템 프로그래밍 (Unix System Programming)유닉스에서 제공하는 시스템 호출(system call)을 이용해서 프로그램을 작성하는것. **시스템 호출 : 유닉스 시스템이 제공하는 서비스를 프로그램에서 이용할 수 있도록 지원하는 프로그래밍 인터페이스를 의미. 2. 시스템 호출(system call) vs 라이브러리 함수(library function)시스템 호출(system call) - 프로그래밍 인터페이스로 기본적인 형태는 C언어 함수와 같다. - 커널의 해당 모듈을 직접 호출, 작업, 결과를 리턴함. - 성공적으로 수행시 0, 실패시 -1 리턴 - 함수 이름 뒤에 (2) 로 표기 라이브러리 함수(Library function) - 미리 컴파일된 함수들을 묶어서 제공 (자..

[운영체제] OS의 정의와 컴퓨터 구조

0. 운영체제(OS)의 정의 - 운영체제, Operating System이라 한다. - 하드웨어와 응용 프로그램 사이에서 관리?중재역할? 를 해주는 시스템 소프트웨어이다. - 하는일 : 자원관리. - 세부적으로 아는것만 말하자면 : 입출력 관리, 메모리할당, 스케줄링, 장치 드라이버 관리 등. - 컴퓨터 구성에서 OS의 위치 : 하드웨어 OS 셸(bash..) / 응용 프로그램 사용자 - 종류 : Linux, Unix, Window OS, MAC OSX 1. 컴퓨터 시스템의 Main Components - CPU Cache Main Memory Hard Disk - CPU와 Cache 메모리는 Computer Architecture 부분에서 다루고 - Main Memory와 Hard Disk는 Opera..

[GitHub] remote, add, commit (초기 연결과 커밋)

안녕하세요. BlockDMask 입니다.repository 를 만들고 remote를 이용하여 연결을 합니다.파일올리는 명령어와 파일 삭제하는 명령어 입니다. git remote set-url origin https://[~~~~~~~~~~~~].gitgit remote -vgit add [File Name]git commit -m "[message]"git pushgit rm [File Name]git commit -m "[message]"git push*실제로 제가 사용하는 명령어를 정리했습니다. 내용이 이상하거나 지적할 사항들은 말씀해주시면 수정하겠습니다.

반응형