본문 바로가기

전체 글225

리눅스 C++ 공유라이브러리 만들기 lddconfig 명령어 공유라이브러리를 만들기 위해서는 "ldconfig"라는 명령어를 이해해야 합니다. ldconfig는 공유 라이브러리 관련 정보를 갱신하고 설정하는 명령어로 /etc/ld.so.conf 파일의 내용을 읽어 /etc/ld.so.cache 파일을 갱신할 때 주로 사용하게 됩니다. 예를 들어, libMyGame.so 라는 공유라이브러리를 만들어 /usr/local/lib 폴더에 복사할 경우 시스템에서 알아서 로딩하지 않습니다. 공유라이브러리를 추가했으니 관련 라이브러리를 사용하게 되면 호출해 달라고 알려줘야 합니다. 즉, ldconfig가 /etc/ld.so.conf 파일을 참고해서 등록되어 있는 해당 폴더의 라이브러리를 갱신하여 호출 시 호출해 줍니다. 오래 전 버전에서는 ld.so... 2022. 9. 6.
YAML & yaml-cpp 라이브러리 설치 YAML (YAML Ain't Markup Language) - 확장자: *.yml or *.yaml - 사람이 쉽게 읽을 수 있는 컨셉을 가진 데이터 직렬화 양식 - 유니코드 문자셋(UTF-8, UTF-16 등) 사용 - XML이나 JSON보다 읽기 쉽게 표현 YAML Sample: apiVersion: v1 kind: Pod metadata: name: hello-pod labels: app: hello spec: containers: - name: hello-container image: tmkube/hello ports: - containerPort: 8000 XML vs. JSON vs. YAML XML JSON YAML Server1 John 123456 active { Servers: [ {.. 2022. 9. 5.
valgrind - 응용프로그램 메모리 누수 탐지 및 해결 valgrind 명령어는 C/C++ 프로그램에서 발생 할 수 있는 메모리 누수 등의 문제를 찾을 수 있는 명령어입니다. valgrind 설치 $ sudo apt instal valgrind 메모리 누수 탐지 잘못된 메모리 주소 접근 디버깅 정보를 통한 라인 단위 확인 참고사이트 valgrind 사용법 2022. 8. 29.
boost: 'pthread_condattr_setclock' error 리눅스에서 boost를 사용하다 보면 아래와 같은 스레드 관련 오류가 나는 경우가 있습니다. asio에서 serialization 예제를 컴파일시킨건데... $ make Scanning dependencies of target server [ 25%] Building CXX object CMakeFiles/server.dir/server.cpp.o [ 50%] Linking CXX executable server /usr/bin/ld: CMakeFiles/server.dir/server.cpp.o: undefined reference to symbol 'pthread_condattr_setclock@@GLIBC_2.3.3' /usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.. 2022. 8. 23.
wget - 인터넷에서 파일 다운로드 한 번에 여러 파일 다운로드, 백그라운드에서 다운로드, 대역폭 제한 등과 같은 다양한 옵션과 함께 HTTP, HTTPS 및 FTP 프로토콜을 사용하여 인터넷에서 파일을 다운로드 할 수 있습니다. 1. 설치하기 리눅스에 설치되어 있지 않다면 아래 명령으로 설치하세요. $ sudo apt install wget # or sudo snap install wget 2. 사용하기 $ wget [options] [url] Options Option Description 기본옵션 $ wget [다운로드 URL] -c 중단된 다운로드 재실행 --continue 대용량 파일을 다운로드 중에 연결이 끊어졌을 경우 재연결 시 끊어진 시점부터 다시 다운로드합니다. $ wget -c [다운로드 URL] -O 다른이름으로 다운로.. 2022. 8. 21.
boost library 설치 BOOST에는 C++ 프로그래밍할 때 유용한 라이브러리가 많이 포함되어 있습니다. 라이브러리 중 일부는 표준에 포함되는 경우도 종종 있을 만큼 완성도나 안정성이 높은 편입니다. 리눅스에서 boost 라이브러리를 사용하여 개발하기 위한 방법을 알아보겠습니다. 1. 라이브러리 설치 선택사항이긴 하지만 최신 버전으로 설치하려면 아래 명령어를 실행합니다. 1) 저장소 추가 $ sudo add-apt-repository ppa:boost-latest/ppa $ sudo apt update 2) 라이브러리 설치 $ sudo apt install libboost-all-dev # install 대신에 upgrade도 가능 정상적으로 설치가 완료되면 아래 폴더에 헤더 및 라이브러리를 확인할 수 있습니다. /usr/in.. 2022. 8. 16.