Visual Studio 2015 이전에는 std::chrono(high_resolution_clock을 사용해도)로 시간 측정을 하면 nano 단위로는 측정할 수 없었다. 그래서 VC에서 nano 단위로 측정하려면 이전처럼 Win32 API인 PerformanceCounter를 사용해야 했다. 그러나 Visual Studio 2015부터는 nano 단위의 측정이 가능하다. #include <iostream> #include <chrono> #include <typeinfo> #include...
더 읽기
클래스를 메모리 할당(new 생성)하지 않고 생성한 후 멤버 함수를 호출하면 어떻게 될까? 호출된 멤버 함수가 자신의 멤버 변수를 호출하지 않는다면 무사히 호출된다. 당근 멤버 변수를 호출하면 세그먼트폴이 생긴다. 아래 코드는 gcc 8.0 에서 테스트 되었다. VC에서도 문제 없이 되는 것으로...
더 읽기
온오프믹스를 통해서 참가 신청 받고 있습니다.
신청하기
이 모임에 대한 설명
더 읽기
FAQ :: Are all of the new concurrent collections lock-free? 의 글을 일부 번역/정리. (이 대답은 .NET Framework 4를 기반으로 한다. 아래의 세부 정보는 문서화 되지 않은 구현 세부 사항이므로 향후 릴리스에서 변경 될 수 있다.) 새로운 System.Collections.Concurrent 네임 스페이스의...
더 읽기
첫 번째: 자신이 하고 싶은 것과 문제를 간결하게 설명한다 영어는 짧고 알기 쉽게 간단하게 설명하는 것이 매우 중요하다. 나는 가급적 직접 만든 템플릿에 맞추어 자신의 하려고 하는 것과 발생한 문제를 설명하도록 한다. I tried to $자신의 하고 싶은 일 however...
더 읽기
보통 std::string는 문자열을 확보할 때 동적으로 메모리를 확보하지만 작은 크기의 문자열의 경우는 동적 할당은 성능적으로 낭비이므로 동적 할당을 하지 않는 최적화가 구현 되어 있고 이것을 SSO 라고 한다. 아래처럼 std::string 안에 문자열을 저장할 수 있는 버퍼를 가진다. class string{ char...
더 읽기
Visual Studio의 디버깅 기능을 정리하는 글이다.
앞으로 이 글에 계속 업데이트 한다.
7 More Lesser-known Debugging Tactics for Visual Studio
더 읽기
변수에 const를 사용하는 이유와 사용 방법은 아주 쉽다. 그런데 포인터 타입 변수에 const를 붙였을 때 포인터의 앞이나 뒤 어디에 붙여야 할지 헷갈릴 때가 있다. 포인터에 const를 붙이는 경우 아래에 따라서 차이가 발생한다. *앞에 const를 붙인 경우는 포인터를 가리키는 곳이 불변이...
더 읽기
메모리 복사 속도를 올리기 위해서는 Array.Copy 보다는 Buffer.BlockCopy를 사용하는 것이 좋다. 단 Buffer.BlockCopy는 작은 크기(10~30 바이트 이하)의 복사에서는 Array.Copy 보다 뛰어나다고 할 수 없다. 원래 Buffer.BlockCopy에는 낭비가 있다. Buffer.BlockCopy는 네이티브의 C++ 코드를 호출하고, 타입 체크와 범용적인 타입에 의한 처리가 있다....
더 읽기
온오프믹스에 모임 개설했습니다.
신청 에서 하시면 됩니다.
더 읽기