본문 바로가기

반응형

2024/12/21

(15)
[C#] 접근 불가능한 폴더를 제외한 모든 폴더에서 파일 리스트 얻어오기 private void GetFileList(string strFolder){ int folderIdx = 0; string[] folders; try { folders = Directory.GetDirectories(strFolder, @"*", SearchOption.TopDirectoryOnly); } catch { return; } if (folders.Length != 0) { for (folderIdx = 0; folderIdx  탐색 대상을 C:\로 했을 때 메모리 부족으로 죽는데... listBox1.Items.Add 부분이 문제가 되는건가...?
[C] 프로그래밍 방법의 3가지 출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​순차적 프로그래밍​컴퓨터가 처리해야 할 순서에 따라 기술하는 방식.​한 번에 하나의 작업만을 할 수밖에 없다는 단점이 있지만 프로그래밍의 구조가 간단하고 작성하기도 쉽기 때문에​지금도 종종 사용되고 있다.​​​구조적 프로그래밍​기본적인 개념은 중복되어 사용할 수 있는 기능을 하나로 묶는다는 것이다.​다시 말해, 서로 다른 프로그램이라고 할지라도 같은 기능을 사용해야 할 경우라면 굳이 프로그램마다 이 기능을 위해​똑같은 소스 코드를 생성할 필요 없이, 공통 부분의 소스코드를 만들어 놓고 필요한 프로그램에서 이 코드를 사용하면 된다는 것​이렇게 공통적으로 사용할 수 있는 기능을 묶어놓은 것을 모듈 이라고 한다. C언어에서는 함수라고 부른다.​비슷한 기능을..
[C] 컴파일러와 인터프리터의 차이점 출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​인터프리터(Interpreter)도 컴파일러와 비슷한 역할을 한다.​텍스트로 되어 있는 소스 파일을 CPU가 이해할 수 있는 이진 코드로 변환해준다.​그러나 컴파일러가 소스 파일을 번역하여 이진 파일인 오브젝트 파일을 생성하는 것이 비해, 인터프리터는 소스 파일을 한 줄씩 읽어서​이진 코드로 바꾸어 CPU가 바로 실행할 수 있도록 해준다.​이런 특징은 간단한 프로그램의 경우에는 소스 파일을 실행하는 데 컴파일과 링크 등의 과정이 필요없으므로 편리할 수는 있지만,​실행 파일이 생성되지 않으므로 소스 파일을 실행하기 위해서는 항상 인터프리터가 필요하다.​또한, 소스 파일의 첫 번째 줄부터 한줄씩 실행되므로 프로그램의 실행 속도가 컴파일러에 의해 생성된 실..
컴파일과 빌드의 차이점 출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​컴파일(Compile)이란, 텍스트 형태로 되어 있는 소스 파일을 기계어 파일(바이너리 파일, 이진 파일)로 만드는 과정을 의미한다.​단순히 텍스트 파일로 되어 있는 것을 해당 프로그래밍 언어의 문법에 맞는지 검사하여 특별한 오류가 없다면 기계어 파일로 변경해 준다.​그러나 컴파일 된 파일은 실행 파일이 아니다. 다시 말하면 우리가 윈도우 환경에서 실행할 수 있는 .exe 파일의 형태가 아니라는 의미다.​비주얼 C++에서는 .c로 되어 있는 소스 코드를 컴파일하면 .obj 파일로 변환한다. 마찬가지로 리눅스나 유닉스에서도 .c로 되어 있는​소스 코드를 컴파일하면 .o 파일로 변환한다. 이와 같은 obj 파일이나 .o 파일을 일반적으로 오브젝트(Obje..
[C] 오류와 경고의 차이점 출처 - 한눈에 보이는 C프로그래밍(무작정 따라하기)​오류(Error)는 단 하나라도 발생하면, 해당 소스 파일이 컴파일되지 않습니다.​결국 오류를 모두 수정하지 않고서는 컴파일을 완료할 수 없다는 의미가 된다.​​​경고(Warning)는 프로그래머에게 나중에 문제가 발생할지도 모른다는 것을 알려주는 것으로, 컴파일 과정과 실행 파일 생성 과정에는​별 영향을 미치지 않고 무사히 진행된다.​흔히 1~2년 정도 경력을 가진 프로그래머들은 이러한 경고 메시지를 무시하는 경향이 있는데,​이것은 결코 좋은 프로그래밍 습관이 아니다.​오류가 됐던, 경고가 됐던 메시지로 출력된 내용을 보고 오류나 경고가 나타나지 않도록​소스 코드를 올바르게 수정하는 습관을 가져야 한다.​나중에는 무시했던 경고들이 쌓이고 쌓여서 치명..
Microsoft Windows에서의 system32폴더와 syswow64폴더 64비트 윈도우즈에서 GetSystemDirectory 함수를 호출하면 어떤 결과가 나올까.​만약 32비트 프로세스에서 실행을 한다면 c:\windows\system32 가 나오게 된다.그리고, 64비트 프로세스에서도 마찬가지로 c:\windows\system32 가 나오게 된다.​하지만 이건 같은것이 아니다.32비트 프로세스에서 c:\windows\system32 폴더에 뭔가를 쓰게 되면 실질적으로는 c:\windows\syswow64 폴더에 써지게 된다. 즉, 내부적으로 저렇게 리다이렉트가 되는 것이다.​경로를 코드상에 c:\windows\system32 로 하드코딩한 경우도 있을 것이고 GetSystemDirectory 같은 함수로 구했을 수도 있을 것이다.두 경우 다 보이기에는 c:\windows..
코딩 습관 1. 함수(매서드) 내에서 return문을 여러 번 쓰는 것보다 가능하면 변수를 사용해서 리턴값을 저장했다가 마지막에 한 번만 사용하는 것이 좋다.int max(int a, int b){ int result = 0; if(a > b) { result = a; } else { result = b; } return result;} ​​2. 객체지향 코드를 작성할 시 인스턴스 변수를 사용하지 않는 함수(메서드)가 있을 경우 static을 붙이는 것을 고려한다.static을 안 붙인 메서드(인스턴스 메서드)는 실행 시 호출되어야 할 메서드를 찾는 과정이 추가적으로 필요하기 때문에 시간이 더 걸린다.​​​3. 하나의 함수는 특수한 경우가 아니면 하나의 기능만 하도록 한다.​​​4. 주석은 필수다.​​​5. 단..
함수 주석 양식 /********************************************************************************* 간단한 설명 :* 매개변수로 넘겨준 사이즈만큼의 별로 된 나비 넥타이 모양을 그려줌* 파라미터 :* int size - 그려줄 나비 넥타이의 크기, 3이상의 홀수* 리턴 값(int) :* 0 - 정상 종료* 추가 설명 :* 함수 구현 제한 조건 - 두개의 반복문과 하나의 조건문* 사용 예 :* Drow_NAVI(7);* 만든 사람 :* Moong* 만든 날짜 :* 2023년 01월 26일 15시 50분* 최종 수정한 사람 :* Moong* 최종 수정 날짜 :* 2023년 01월 26일 15시 50분* 참고 :* 서적 또는 블로그 주소 등등***********..

반응형