본문 바로가기

분류 전체보기

(774)
Segmentation fault 해결 (C++) [1. 개요]C++ application 에서 발생한 Segmentation fault(Core dumped) 오류 해결 사례[2. 원인]재귀 함수의 recursion 이 깊어지는 경우 주로 발생했는데,아래 컴파일 경고가 발생한 함수에서 런타임 오류가 발생waring: control reaches end of non-void function [3. 해결]해당 함수의 리턴은 딱히 쓰는 데가 없어서 함수의 return type 을 void 로 바꿈.[4. 결론]함수의 리턴 값을 정확히 명시하지 않는 경우, 최악의 상황에서 app 이 crash 가 발생할 수 있다.
윈도우 컴파일 에러. [No Target Architecture] [1. 개요]윈도우 System api 를 사용해서, c++ application 소스 코드 작성 후, cmake 를 이용하여, 윈도우 visual studio 빌드 환경을 구축하였다. 컴파일을 진행 하니, Fatal error: "No Target Architecture" 가 발생하면서, 컴파일 실패함.[2. 해결 방법]여러가지 솔루션들이 있었으나, 나의 경우#include 를 다른 윈도우 api header 보다 먼저 include 하는 것 이었다.// Before#include #include #include /*****/ // After#include /*****/#include #include  그 외 부가적으로, CMAKE_GENERATOR_PLATFORM 를 x64 로 명시WIN32_L..
소켓 Linger 옵션 [1. 개요]C++ 를 이용하여 서버 프로그램 작성 시, accept 된 소켓 (이하 클라이언트 소켓) 과 통신 시 발생한 문제서버: send() 후, 클라이언트 소켓에 대해서 close() 함클라이언트:  서버로 부터 응답을 받지 못하고, connection reset 이 발생서버: close() 전, shutdown() 을 이용해서 출력 스트림만 종료하여 출력 버퍼가 비워지도록 수정.클라이언트:  서버 응답 패킷 크기가 작은 경우는 응답을 받았지만, 패킷 크기가 큰 경우는 여전히 동일한 문제가 발생위와 같은 문제의 원인은, 클라이언트 소켓을 대상으로 close() 한 것이 문제인데,보통 file descriptor (text 파일 같은 것) 를 대상으로 close() 를 호출하면 출력 버퍼가 비워진다..
Zookeeper-client 라이브러리 빌드 [1. 개요]Zookeeper-client 관련하여, C++ 에서 사용하기 위한, 라이브러리 빌드 과정 기술.리눅스 기반.zookeeper-jute직렬화와 역직렬화(serialization/deserialization) 작업을 수행하는 라이브러리Zookeeper의 데이터 객체(예: DataNode, Request 등)들을 네트워크로 전송할 수 있는 형태로 변환하거나, 다시 원래 객체로 복원하는 작업을 한다.[2. Prerequisite]몇몇 바이너리 필요javamvncmakemvn 은 아래에서 원하는 버전으로 다운로드 혹은...https://maven.apache.org/download.cgihttps://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-ma..
[Queue] ITES [1. 문제설명] [2. 코드]
[Stack] BRACKETS2 [1. 문제 설명] [2. 코드]
erase 계열 함수... [1. 개요]STL 컬렉션 들의 멤버 함수 erase() 의 리턴 값의 의미하는 바가 무엇인가?erase 의 입력으로 사용 된, 반복자의 다음위치를 가리키는 iterator 가 반환된다.[2. 예제]#include #include #include #include #include std::vector vec;std::list lst;std::map kv;std::unordered_set uos;void print_vec(){ std::cout "; auto itr1 = vec.erase(itr0); std::cout "; auto itr1 = lst.erase(itr0); std::cout first second "; auto itr1 = kv.erase(itr0); ..
[연결리스트] JOSEPHUS [1. 문제 설명]https://algospot.com/judge/problem/read/JOSEPHUS[2. 풀이 접근] [3. 코드]
[부분 합] CHRISTMAS [1. 문제 설명]https://www.algospot.com/judge/problem/read/CHRISTMAS[2. 풀이 접근] [3. 코드]
[인코딩] EUCKR [1. 개요]EUC-KR 인코딩 방식에 대해서 정리한다. EUC-KR 은 멀티바이트 형태의 문자 인코딩 방식이다.영문 및 특수문자는 1 byte한글 및 한자는        2 bytes첫번째 바이트의 값 범위에 따라서, 몇 바이트로 표현된 문자인지 확인 할 수 있다.0x00 ~ 0x7F : 1 byte0xA1 ~ 0xFE : 2 bytes  2 bytes 로 표현하는 경우는첫번째 바이트 값의 범위는 0xA1 ~ 0xFE 두번째 바이트 값의 범위는 0xA1 ~ 0xFE두 바이트 모두 값의 범위가 0xA1 ~ 0xFE  이 되야만 한다. [2. 예제]   [3. ref]https://i18nl10n.com/korean/euckr.html