본문 바로가기

C++3

CreatePipe에 PeekNamedPipe을 쓰지 마세요! stackoverflow을 보면 가끔 CreatePipe로 pipe를 생성하고, CreateProcess에다가 해당 Pipe를 넣어서, stderr/stdout을 PeekNamedPipe로 데이터가 있는지 확인한다. 대충 해보면 작동하는거 같다.. 하지만 모든 상황에 작동하는것은 아니다. https://docs.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-peeknamedpipe PeekNamedPipe function (namedpipeapi.h) - Win32 apps Copies data from a named or anonymous pipe into a buffer without removing it from the pip.. 2020. 8. 7.
C++ istream, streambuf 간단 구현 예제 #include class input_buf : public std::streambuf { public: char read_buf_[32]; int read_pos_; int read_limit_; input_buf() { int i; for (i = 0; i < 32; i++) { if(i < 26) read_buf_[i] = 'a' + i; else read_buf_[i] = 'A' + (i - 26); } read_pos_ = 0; read_limit_ = 32; } int_type underflow() override { // 읽을 데이터가 없으면 EOF를 알린다 int_type ret = traits_type::eof(); // istream에서 더이상 버퍼에서 읽을.. 2019. 7. 19.
C++에서 Java스럽게 개발하기 제가 지금까지 만들었던 C++ 라이브러리 일부를 정리해 봅니다. Java, 특히 Spring-boot framework의 영향을 많이 받아서 C++에서도 Java스럽게, 그리고 편하게 개발하기 위해 만든 라이브러리들입니다. 1. JsCPPUtils github : https://github.com/jc-lab/JsCPPUtils 말 그래도 C++에서 사용할 수 있는 잡다한 라이브러리 입니다. 저는 여기서 주로 SmartPointer(Reference count기반)을 많이 사용합니다. 저는 스마트포인터와 SecureRandom/Well512Random/StringBuffer/StringEncoding 등을 주로 사용합니다. 처음 계획은 Windows/Linux모두에서 작동하는 라이브러리를 만드는 거였는데.. 2019. 4. 12.
반응형