생각해보니 C/C++을 공부하고 써오면서 printf 는 도대체 어떻게 구현되어있길래 가변 인자의 인풋을 받을 수 있었던 것인지 생각해본적이 없다. 사이드 프로젝트를 진행하던 중 아래의 프로젝트에서 난생 처음보는 함수 선언/정의 방법을 보게됐다. https://github.com/leandromoreira/ffmpeg-libav-tutorial/blob/master/0_hello_world.c#L202-L210 GitHub - leandromoreira/ffmpeg-libav-tutorial: FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcod FFmpeg libav tutorial - learn how med..
C++ 기반으로 onnxruntime 라이브러리를 테스트해볼일이 있었는데 MinGW g++ Compiler로 빌드가 안되는 문제가 발생했다. https://github.com/microsoft/onnxruntime/issues/1175 error: unknown type name '_Frees_ptr_opt_' · Issue #1175 · microsoft/onnxruntime Describe the bug I am trying to include onnxruntime into a c-application for win 10. For that I use the precompiled binaries here. Compiling of my program stops with error: unknown type..
서로 다른 두 소스코드 파일(.c, .cpp)에 이름이 동일한 함수가 다음과 같이 정의가 되어 있다. A.cpp void foo(){~~} B.cpp void foo(){~~} 그리고 이 두 소스코드 파일에 의해 생긴 lib 파일을 링킹하는 과정에서 multiple definition of ~ 쏼라쏼라 하는 오류를 마주할 수 있다. 이 경우 각 함수를 static 함수로 만들어주면 해당 오류를 제거할 수 있다. 함수 앞에 static을 붙이면 그 함수가 정의된 소스코드 파일에서만!! 사용하는 함수로 인식되어 위와 같은 충돌을 피할 수 있다. 혹은 namespace 를 사용해 각각의 함수가 별개의 namespace 에 속하도록 만들어주면 된다.
map 클래스의 객체 a가 있다고 해보자. 그리고 이 객체가 const 화 되고 b라는 변수로 reference 됐다고 해보자. b에 대한 value 를 접근함에 있어 b["key"] 이런식으로 접근하면 에러가 난다. 내용은 error : passing '~' as 'this' argument discards qualifiers 뭐 이런 에러가 뜰 거다. 이유는 const 화 된 map 객체에 ["key"]로 접근하면 그 값을 수정할 여지가 발생하기 때문이다. value를 접근하는 다른 방법이 있다. 바로 .at 을 쓰는 것! b.at("key") 이렇게 접근하면 에러 없이 const화 된 map 객체의 value에 접근 가능하게된다. 참고 링크 https://daewonyoon.tistory.com/1..
https://en.cppreference.com/w/cpp/filesystem Filesystem library - cppreference.com The Filesystem library provides facilities for performing operations on file systems and their components, such as paths, regular files, and directories. The filesystem library was originally developed as boost.filesystem, was published as the technical sp en.cppreference.com filesystem 을 이용하면 된다. #include namespa..
__builtin_popcount(n)
const static double 멤버 변수 클래스에 const static 키워드와 함께 double type으로 변수를 선언하고 초기화해보면 아래와 같은 에러가 뜬다. class sample{ const static double pi=3.141592; }; a member of type "const double" cannot have an in-class initializer 찾아보니 const static 키워드는 integral type에만 붙일 수 있다고 한다. integral type이란 말이 잘 이해안됐는데 찾아보니 integral type은 fixed point type(ex: int)인 것으로 보인다. C++11 이상을 지원하는 컴파일러를 사용중이라면, const 대신 constexpr..
#include 를 추가하면 된다.
- Total
- Today
- Yesterday
- 백트래킹
- 인공지능을 위한 선형대수
- 순열
- 이분탐색
- ㅂ
- cosine
- 가장 긴 증가하는 부분 수열
- 백준 1766
- 백준 11437
- 파이참
- 위상 정렬 알고리즘
- 자료구조
- MOT
- 단축키
- 조합
- FairMOT
- C++ Deploy
- Lowest Common Ancestor
- 백준 11053
- PyCharm
- LCA
- 문제집
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |