반응형

C 4

0으로 채워진 포인터를 표시하기 위해 printf를 사용하는 올바른 방법은 무엇입니까?

0으로 채워진 포인터를 표시하기 위해 printf를 사용하는 올바른 방법은 무엇입니까? C에서는 printf를 사용하여 포인터를 표시하고 올바르게 정렬할 수 있도록 0으로 패딩하고 싶습니다. 적절한 방법은 다음과 같습니다. printf(%)%016p", printf (%016p), 이것은 동작합니다만, 이 gcc는 다음과 같은 메시지로 불만을 제기합니다. 경고: '0' 플래그가 '%p' gnu_printf 형식과 함께 사용되었습니다. 구글에서 검색해 봤는데 다음 스레드는 같은 주제에 있지만 해결 방법이 없습니다. http://gcc.gnu.org/ml/gcc-bugs/2003-05/msg00484.html 읽어보니 gcc가 불만을 제기하는 이유는 제가 제시한 구문이 C99에 정의되어 있지 않기 때문인 것..

programing 2022.07.02

비트 연산자를 사용하여 정수가 짝수인지 홀수인지 확인하는 방법

비트 연산자를 사용하여 정수가 짝수인지 홀수인지 확인하는 방법 비트 연산자를 사용하여 정수가 짝수인지 홀수인지 확인하는 방법"짝수"와 "홀수"가 "비트"로 무슨 의미인지 생각해 보십시오.이진 정수 데이터는 2의 배수를 나타내는 비트와 함께 저장되므로, 최하위 비트는 2에 해당하며0, 다른 모든 비트는 2의 배수(2 = 22, 2 = 4 등)에1 해당합니다.무료 ASCII 아트: NNNNNN|||||||||| | ||+-- 비트 0, 값 = 1 (20)|||||+--- 비트1, 값 = 2 (21)|| ||+----- 비트 2, 값 = 4 (22)|||+----- 비트3, 값 = 8 (23)|||+------- 비트 4, 값 = 164 (2)||+------- 비트 5, 값 = 32 (25)|+-------..

programing 2022.07.02

ffmpeg에서 하드웨어 액셀러레이션을 사용하는 방법

ffmpeg에서 하드웨어 액셀러레이션을 사용하는 방법 하드웨어 액셀러레이션을 사용하여 ffmpeg 비디오(h264 등)를 디코딩해야 합니다.프레임을 디코딩하는 일반적인 방법인 read packet -> decode frame을 사용하고 있습니다.그리고 ffmpeg의 디코딩 속도를 높이고 싶습니다.그래서 제가 만든 건--enable-vaapi그리고.--enable-hwaccel=h264근데 다음에 뭘 해야 될지 모르겠어요.사용하려고 했습니다.avcodec_find_decoder_by_name("h264_vaapi")nullptr을 반환합니다.어쨌든 저는 VA API뿐만 아니라 다른 API를 사용하고 싶을지도 모릅니다.ffmpeg 복호화 속도를 어떻게 높여야 하죠? 추신: ffmpeg with hwaccel..

programing 2022.07.02

C에서 'char**'를 'const char* const*'로 변환할 수 없는 이유는 무엇입니까?

C에서 'char**'를 'const char* const*'로 변환할 수 없는 이유는 무엇입니까? 다음 코드 스니펫은 (올바르게) C에서 경고 및 C++에서 오류를 나타내고 있습니다(각각 버전 3.4.5 및 4.2.1에서 테스트된 gcc 및 g++를 사용).MSVC는 신경 쓰지 않는 것 같습니다). char **a; const char** b = a; 을 사용하다 이 문제에 대한 C++ 해결책은 b를 const char * const * 로 변경하는 것입니다.이것에 의해, 포인터의 재할당이 허가되지 않고, const-correctness(C++ FAQ)를 회피할 수 없게 됩니다. char **a; const char* const* b = a; 그러나 순수 C에서는 수정판(const char * cons..

programing 2022.07.02
반응형