Category: c++

[c++] 개발 교양

이 내용은 절대적인 룰 이 아닌 권장사항이나 가급적 지켜짐이 좋다고 판단되는 부분을 다룹니다 포인터 delete 후 nullptr 대입 포인터를 사용 할땐 항시 nullptr 상태 인지 체크 한다 이건 따로 기술할 의미도 없다 그때에 nullptr 인 상태를 체크 하기위해서는 포인터 변수는 항상 사용후 삭제시 쓰레기주소가 남아있지 않도록 nullptr (NULL,0 보다는 nullptr) 을 대입하자 하물며 함수 스코프 […]

[windows][socket] inet_ntoa, inet_addr error C4996: 수정

inet_ntoa, inet_addr error C4996: 해결방법 _WINSOCK_DEPRECATED_NO_WARNINGS define deprecated 된 코드사용 을 에러나 경고 없이 가능하게 한다 inet_ntoa > inet_ntop/InetNtop 그리고 inet_addr > inet_pton/InotPton 함수로 변경 더 이상 사용하지 말라고 하는 함수를 신규 함수로 변경한다 기존 변경 헤더 추가 후 위 코드와 같이 수정 시 정상 컴파일 되는 것을 확인할 수 있다이외에도 sdl 검사를 제거하는 방법도 […]

[c++20][windows] std::chrono::from_stream 사용중 버그

c++ 모던, 그리고 20로 발전되어 오면서 사소한 구현을 std 의 라이브러리/함수를 사용하면 편리해 졌습니다.. 대다수가 안되던 것은 당연히 아니니까요 그중에서 string 시간/날자 를 chrono time , time_point 로 변환할 수 있는 https://en.cppreference.com/w/cpp/chrono/duration/from_stream from_stream 을 사용할 수 있습니다 예를들면 “2021-12-06 12:31:04” 같은 문자열을 time_point 로 변환할 수 있고 연산이나 값을 사용할 수 있죠.. 다만 이는 현재 […]

[c++17][byte] visual studio c++17 with windows.h byte error C2872

visual studio 상에서 c++17 옵션을 활성화 시 만날 수 있는 오류 영문 1>c:\program files (x86)\windows kits\10\include\10.0.14393.0\shared\rpcndr.h(192): error C2872: ‘byte’: ambiguous symbol1>c:\program files (x86)\windows kits\10\include\10.0.14393.0\shared\rpcndr.h(191): note: could be ‘unsigned char byte’1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\cstddef(15): note: or ‘std::byte’ 한글 1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\oaidl.h(563,26): error C2872: ‘byte’: 모호한 기호입니다.1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\rpcndr.h(191,23): message : ‘unsigned char byte’일 […]

[C++][libcurl][windows] visualstudio libcurl 빌드하기

windows 환경 visual studio 2019 에서 github 소스 를 받아 로컬 static 빌드 git clone 을 받은 뒤 해당 폴더에서 buildconf.bat 을 실행한다 이는 위에 확인되는 tool_hugehelp.c 를 받아 두기 위함이다 해당 파일은 이후 빌드중 이 과정이 없을 시 아래와 같은 오류 가 발생하게 된다 이후 윈도우 검색등을 이용하면 “x64 Native Tools Command Prompt for […]

vs2019 에서 vcpkg static lib 사용

기본적으로 vcpkg 는 shared lib 으로 download/build 되고 visual studio 에서의 폴더링크도 해당 이름으로 자동 맵핑되게 된다 해서 vcpkg intergrate install 을 아무리 해도 프로젝트상 자동으로 해당 static lib 헤더/라이브러리 연결이 되지 않는다 static 으로 명시적으로 받은 lib 을 프로젝트에서 수동설정 없이 사용하기 위해서 vs2019 에서는 프로젝트 속성페이지에 구성속성이 생기며 위와같이 vcpkg > target and […]

vcpkg install curl : Error: Building package zlib:x86-windows failed with: BUILD_FAILED

vcpkg curl (이외에도 다수 모두 같은증상) 설치중 오류 발생 우선 warning 은 배제하고 error 메세지를 먼저 파악 하는 편 이지만visual studio 의 언어팩 (eng)을 설치하고 그김에 설치되어 있지 않던 c++ 패키지들을 설치해두었다 언어팩의 문제 였는지 이후에는 설치가 정상적임을 확인 가능했다 로그나 에러 메세지의 스택 추적은 굳이 해보지않았지만..

[memo] socket models

socket 사용의 여러 모델 blocking scoket 일반 blocking socket 을 이용한 send,recv 매 send,recv 시 마다 동기 작업으로 여러 소켓을 동시 처리(다수의 client) 하기 위해서는 일반적으로 thread 를 각 소켓마다 할당해 recv,send 하는 식의 스레드 를 활용 non blocking socket non bloking mode socket 으로 전환하는 경우 비동기 send,recv 가능 send,recv 이후 종료시까지 기다리지 않게 […]