본문 바로가기

프로그래밍

[Algorithm]merge sort 병합정렬 한쪽의 배열의 끝에 먼저 도달했을때 처리를 처음에 빼먹었다가 추가했다. Merge함수는 사실 생각하기 쉽고 MergeSort함수가 생각하기 어렵다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 int* Merge(int * left_array, int left_size, int * right_array, int right_size) { int left_index = 0; int right_index = 0; int merged_index = 0; int* merged_array = (int*)malloc(sizeof(int)*(left_.. 더보기
[powershell]5.1버전 업데이트, Get-CimInstance 가 안되요 powershell 예제를 따라하던중 일부명령어가 없어서 버전을 맞추기 위해 업데이트 하였다. https://docs.microsoft.com/ko-kr/powershell/scripting/samples/changing-computer-state?view=powershell-6 더보기
[powerShell]기본 명령어 명령어는 기본적으로 cmdlet이라 불린다. 구조 자체는 동사-명사로 이루어져 있다. Get — To get something Start — To run something Out — To output something Stop — To stop something that is running Set — To define something New — To create something Get-Help 명령어 명령어에 대한 도움말을 가져온다. 제일 중요 Get-Process process 의 상태를 가져온다 Get-Process -Name chrome Get-Process -Name *rome* Clear -Host Host의 화면을 다 지워준다. Get-Alias 약자들을 보여준다.(alias는 별명이라는 .. 더보기
[powerShell] 시작하기, 이 시스템에서 스크립트를 실행할 수 없으므로 현재 환경 window 7 powershell_ise를 실행하면 아래 사진과 같이 powershell을 실시간으로 실행하며 스크립트도 저장할수 있는 환경이 나온다. 메모장으로 파일을 하나 만들어 실행을 하다 보면 (ipconfig가 써져있는칸) 이 시스템에서 스크립트를 실행할 수 없으므로 파일로드가 불가하다는 명령어가 뜬다. 보안문제 때문인데 관리자 권한으로 powershell을 실행해서 get-executionPolicy를 쳐보면 Restricted라고 나온다. 이를 remotedSigned권한으로 바꿔주면 된다. Restricted- Scripi허용이 안된상태, 디폴트 세팅이다 Alllsigned - 신뢰된 개발자가 서명한 스크립트를 실행할 수 있다. 스크립트 서명전에 동의를 묻는다. RemotedS.. 더보기
[C]포인터반환, 스택영역 힙영역 포인터를 파라미터로 주고 받을때 주의할 점들이다. 이런 함수가 있다고 치자 int* func1( ) { int array[20] = {1, };//참고로 array에는 1,0,0,0,....이 들어간다 return array; } 위의 경우 array는 stack영역에 저장되며 컴파일 타임에 메모리가 할당된다. array라는 포인터는 array[0]의 주소값을 가지고 있다. 이 array라는 값을 리턴해 버리면 array[0]의 주소는 받을수 있다. 하지만 사실 array라는 값은 함수의 스택을 가리키므로 잘못된 사용이다. 지역변수의 주소값을 반환해버리는건 잘못된 사용이다 스택이라는 것이 compile타임에 많이 결정된다고 하지만 실제로는 사이즈등은 runtime 에도 운영체제나 환경에 따라 바뀐다. i.. 더보기
[C] 디버그 모드에서는 에러가 안나는데 릴리즈에서는 나는경우 디버그모드에서는 잘 돌아가던게 릴리즈하려하니 계속 포인터가 잘못 참조 될때 나는 오류가 났다. 찾아보니 포인터 변수, 지역변수들이 초기화가 되어있어야 된다고 한다. 그래서 char string[100]같은 애들은 char string[100] = "";로 초기화 하였고 나머지 지역변수들도 초기화 햐였더니 해결되었다. 더보기
[임베디드]요약 RTOS, 커널 -1 http://recipes.egloos.com/5072853 RTOS와 Kernel 예전엔 RTOS라는 말을 많이 사용했던 것 같은데, 요즘은 Kernel이라는 말이 또 많이 사용되는 것 같네요. 도대체 Kernel이란 건 뭘까?요. OS라는 게 뭘 하는 녀석인지 보자면, 예전에 OS라는 게 없을 때는 User가 모든 기능을 Software가 처리 가능하도록 처음부터 끝까지 작성을 했는데, 이러다 보니 너무 까다로운 작업에 Software recipes.egloos.com 위의 블로그를 읽고 요약한 겁니다 위쪽으로 가시면 더 좋은 내용 훨씬 많이 있습니다. [OS] 소프트웨어를 개발하다보니 input output 메모리 로딩 같은 부분은 거의 모든 프로그램에 들어갔다. 이러한 공통의 부분들을 매번 다시 .. 더보기
[C]strcat, 문자열 포인터 문자열을 파싱파싱 하려고 하는데 잘 안된다. 기존 문자열에 Delimiter들을 없애고 해당 문자열을 리턴 해주는게 목적이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 char* textFileParsing(char* inputString) { char outputString[50] = "outputString"; char addString[50] = "addString"; char parsingDelimters[] =" \t"; char* ptr = strtok(inputString, parsingDelimters); //strcat(outputString, addString); while (ptr != NULL) { printf("%s\n", ptr); //strca.. 더보기