본문 바로가기

분류 전체보기

(263)
UnhandledExceptionFilter() not work. 동작안함 (IDirect3D9) https://learn.microsoft.com/ko-kr/windows/win32/api/errhandlingapi/nf-errhandlingapi-unhandledexceptionfilter UnhandledExceptionFilter 함수(errhandlingapi.h) - Win32 apps 프로세스가 디버그되는 경우 처리되지 않은 예외를 디버거에 전달하는 애플리케이션 정의 함수입니다. learn.microsoft.com 위 함수가 내 PC에서 동작하지 않는 문제가 있었다. 분명 다른 테스트서버에서는 정상적으로 동작하였던 코드였고 수정된 내용도 없었다. 디버깅 중에는 원래 해당 함수가 적용되지 않기에 로그를 찍어가며 확인하는데 이상하게도 특정 로직 동작 이전까지는 정상적으로 작용했다. 그래서 범..
Linux(ubuntu) to Windows , Windows to Linux 파일 전송 (SCP) 나의 상황은 사설 아이피의 Windows 개발 PC와 공인 아이피의 리눅스 Linux 서버 간의 파일 교환이 필요한 상황이었다. 당연히 리눅스로는 공인아이피이기에 다양한 방법으로 전송이 가능하겠지만 내 피시로 다시 파일을 받아야 하는 경우엔 몇몇 방법으로는 불가능한 상황이었다. 때문에 찾아본 SCP 윈도우10이상부터는 디폴트로 설치되는 것 같았다. 사용법은 간단하다. 파일을 어디로 옮기고 싶든지 Windows에서 커맨드 창을 연다 (옮겨야 할 파일이 있는 경로에서 열면 더 편하다) 1. Windows to Ubuntu scp -p [ssh포트] [Windows파일경로] [Ubuntu계정]@[Ubuntu IP]:[Ubuntu파일경로] scp -P 3022 .\test.tar.gz user@222.111.2..
Visual studio Stack overflow (Stack Reserve Size) 타 팀의 요구하상으로 간단한 툴을 만들어서 전달해 주려는데 특정 함수 진입 시 Stack overflow가 나면서 프로그램이 종료되었다. 그동안 경험에 의해서는 보통 호출하는 쪽에서 정리안된 메모리가 충돌한다던가 하는 문제였었기에 호출하는 쪽만 죽어라 찾아봤는데 아무리 봐도 원인을 찾을 수 없었다. 그래서 혹시나 싶어 호출 되는 함수에서 특정 기능들을 하나씩 지워가며 테스트해본 결과 char 배열의 선언을 지우니 정상작동했다. ?????????? GPT에서도 해당 코드는 문제가 없다고 하는데.. 찾아보니 visual studio에서 제공하는 stack의 크기는 디폴트로 1MB였던것이다 아래 예시코드처럼 작성하게되면 해당 에러가 발생하게 된다 이 설정은 프로젝트 옵션에서 Linker-> All Option..
Beakjoon] 연결 요소의 개수 (백준 11724 코테) - 탐색 문제주소 : https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 문제 풀이 - 기본적인 DFS 문제로 그래프를 그리고 재귀함수로 풀어내면 됨 코드는 아래 숨김 더보기 #include #include std::vector graph_map; std::vector visited; void DFS(int v) { if (visited[v] == true) return; visited[v] ..
Beakjoon] 수 정렬하기 3 (백준 10989 코테) - 정렬 문제주소 : https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 - O(nlogn)으로도 풀 수 없는 시간복잡도의 수의 개수를 가지고 있다(10,000,000) c++의 sort로는 nlogn의 속도의 시간복잡도기에 계수정렬 O(kn)을 통해 풀어야 한다 코드는 아래 숨김 더보기 #include #include int main() { std::ios::sync_with_stdio(false); std::cin.tie(NULL); std::cout.tie(N..
Beakjoon] 버블 소트 2 (백준 1517코테) - 정렬 문제주소 : https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. www.acmicpc.net 문제 풀이 문제 그대로 버블정렬로 카운트는 가능하지만 O(n^2)의 경우 시간복잡도에서 실패하게 된다. O(nlogn)의 시간복잡도로 문제를 풀어야 하는데 핵심 이론은 병합 정렬을 사용하되 병합정렬 시 뒤쪽 데이터가 앞으로 이동하는 경우는 이동한 칸만큼 swap이 일어났다고 볼 수 있다는 것이다. (이미 앞쪽데이터는 스왑에 의해 자동으로 뒤로 밀려나기에 카운트에..
Git에서 WinMerge로 difftool 명령어 사용하기 과거 Winmerge를 사용해서 소스코드의 변화나 텍스트 문서의 비교를 하곤 했었다. Git설치 시 기본적인 diff명령어로는 너무 보기도 불편했고 수정은 더 불편했다. 찾아보니 winmerge를 사용해서 git difftool 명령어가 가능하다고 하였고 적용하였더니 너무 편해졌다. 그럼 설치방법! (Git은 이미 설치된 것으로 가정) 1. Winmerge 설치 https://winmerge.org/downloads/?lang=ko 위 공식홈피 링크에서 다운로드받아 설치한다 2. ".gitconfig" 파일 수정 이 파일은 git설치시 C:\User\[사용자명] 아래에 숨김파일로 존재한다 만약 파일이 없다면 Git 설치 후 아래 최초 설정을 하지 않은 경우이다 위 설정을 해주면 .gitconfig 파일이..
Delphi 2010 Indy 업그레이드 (재설치) 회사에서 Delphi 2010 버전을 사용하고 있는데 이는 설치하면 과거버전의 Indy가 설치되어 있어서 특정 기능들을 사용할 수 없다. 그래서 최신 Indy로 교체시켜줘야 한다 1. 최신 Indy 다운로드 https://www.indyproject.org/ 여기서 다운로드 가능하며 현재는 github로 연동해놨다 (https://github.com/IndySockets/Indy) GitHub - IndySockets/Indy: Indy - Internet Direct Indy - Internet Direct. Contribute to IndySockets/Indy development by creating an account on GitHub. github.com 2. 기존 Indy 삭제 1) Delp..