«c» 태그된 질문

C는 시스템 프로그래밍 (OS 및 임베디드), 라이브러리, 게임 및 크로스 플랫폼에 사용되는 범용 프로그래밍 언어입니다. 이 태그는 달리 지정하지 않는 한 ISO 9899 표준 (최신 버전, 9899 : 2018, C89, c99, c11 등으로 버전 별 요청에 태그 지정)에 정의 된대로 C 언어와 관련된 일반적인 질문과 함께 사용해야합니다. C는 C ++과 구별되며 합리적인 이유없이 C ++ 태그와 결합해서는 안됩니다.

13
C 또는 C ++로 호출 스택 인쇄
특정 함수가 호출 될 때마다 C 또는 C ++에서 실행중인 프로세스에서 호출 스택을 덤프하는 방법이 있습니까? 내가 염두에 두는 것은 다음과 같습니다. void foo() { print_stack_trace(); // foo's body return } Perl print_stack_trace과 유사하게 작동하는 곳 caller. 또는 다음과 같이 : int main (void) { // will print out debug …
120 c++  c  linux  callstack 

22
설정된 최하위 비트의 위치
정수로 설정된 최하위 비트의 위치를 ​​결정하는 효율적인 방법을 찾고 있습니다. 예를 들어 0x0FF0의 경우 4가됩니다. 사소한 구현은 다음과 같습니다. unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value >>= 1; ++pos; } return pos; } 그것에서 일부 사이클을 짜내는 …

6
C에서 stderr로 어떻게 인쇄 할 수 있습니까?
C에서, 표준 출력에 인쇄하는 것은으로, 쉽게 printf에서 stdio.h. 그러나 어떻게 stderr로 인쇄 할 수 있습니까? 우리는 fprintf분명히 그것을 달성하기 위해 사용할 수 있지만 구문이 이상하게 보입니다. printfstderr로 인쇄하는 데 사용할 수 있습니까?
120 c  printf  stderr 


27
C의 정수에서 가장 높은 설정 비트 (msb)를 찾는 가장 빠르고 효율적인 방법은 무엇입니까?
정수 n이 있고 최상위 비트의 위치를 ​​알고 싶다면 (즉, 최하위 비트가 오른쪽에 있으면 가장 먼 왼쪽 비트 인 1의 위치를 ​​알고 싶습니다), 가장 빠르고 효율적인 방법은 무엇입니까? POSIX가 ffs()첫 번째 세트 비트를 찾기 위해 strings.h 의 메서드를 지원한다는 것을 알고 있지만 해당하는 것 같지 않습니다.fls() 메서드 . 내가 놓친 정말 …


2
Linux에서 다중 스레드를 사용한 신호 처리
Linux에서 프로그램 (여러 스레드가있을 수 있음)이 SIGTERM 또는 SIGHUP와 같은 신호를 수신하면 어떻게됩니까? 어떤 스레드가 신호를 가로 챕니까? 여러 스레드가 동일한 신호를받을 수 있습니까? 전적으로 신호 처리 전용 특수 스레드가 있습니까? 그렇지 않은 경우 신호를 처리하는 스레드 내부에서 어떤 일이 발생합니까? 신호 처리기 루틴이 완료된 후 실행이 어떻게 재개됩니까?
119 c  linux  multithreading  signals  ipc 

5
FFmpeg C API 문서 / 튜토리얼 [닫힌]
닫은. 이 질문은 Stack Overflow 지침을 충족하지 않습니다 . 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? Stack Overflow의 주제에 맞게 질문을 업데이트하세요 . 휴일 기각 . 이 질문 개선 FFmpeg C API를 사용하기위한 문서를 찾으려고합니다. 명령 줄 문서 만 사용할 수있는 것 같습니다. 좋은 문서 / 튜토리얼 / …
119 c  api  documentation  ffmpeg 

13
C 함수 내부의 정적 변수
무엇을 인쇄합니까? 6 6 또는 6 7? 그리고 왜? void foo() { static int x = 5; x++; printf("%d", x); } int main() { foo(); foo(); return 0; }
119 c  static 

9
C 포인터 : 고정 된 크기의 배열을 가리킴
이 질문은 C 전문가에게 나옵니다. C에서는 다음과 같이 포인터를 선언 할 수 있습니다. char (* p)[10]; .. 기본적으로이 포인터는 10 개의 문자 배열을 가리 킵니다. 이와 같은 포인터 선언에 대한 깔끔한 점은 p에 다른 크기의 배열 포인터를 할당하려고하면 컴파일 시간 오류가 발생한다는 것입니다. 간단한 char 포인터의 값을 p에 할당하려고하면 컴파일 …
119 c  pointers  size 

6
C 문자 배열 초기화
다음과 같은 방법으로 초기화 후 char 배열에 무엇이 있을지 잘 모르겠습니다. 1. char buf[10] = ""; 2. char buf[10] = " "; 3.char buf[10] = "a"; 경우 2, 나는 생각 buf[0]해야한다 ' ', buf[1]해야한다 '\0', 그리고에서 buf[2]에 buf[9]임의의 콘텐츠 될 것입니다. 케이스 3의 경우 , 이어야하고 , '\ 0' buf[0]이어야하며 …

1
-fPIC 컴파일러 옵션을 추가하는 CMAKE의 관용적 방법은 무엇입니까?
나는 이것을하기위한 적어도 3 가지 방법을 발견했고 나는 어떤 것이 관용적 인 방법인지 궁금하다. 이것은 거의 모든 정적 라이브러리에 대해 거의 보편적으로 수행되어야합니다. CMake의 Makefile 생성기가이를 정적 라이브러리에 자동으로 추가하지 않는다는 사실에 놀랐습니다. (내가 놓친 게 아니라면?) target_compile_options(myLib PRIVATE -fPIC) add_compile_options(-fPIC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic") 다른 변형이있을 수도 …
119 c++  c  cmake 

6
stdin이 터미널인지 파이프인지 감지합니까?
python인수없이 터미널에서 " "을 실행 하면 Python 대화 형 셸이 나타납니다. cat | python터미널에서 " "을 실행하면 대화 형 모드가 시작되지 않습니다. 어떻게 든 입력을받지 않고 파이프에 연결되어 있음을 감지했습니다. C, C ++ 또는 Qt에서 유사한 감지를 어떻게 수행합니까?
118 c++  c  qt  pipe  stdin 

9
메모리 누수는 얼마나 멀리 갈 수 있습니까?
메모리 누수가 여러 번 발생했습니다. 보통 내가 malloc내일이없는 것처럼, 또는 FILE *더러운 빨래처럼 매달릴 때 . 나는 일반적으로 적어도 프로그램이 종료 될 때 모든 메모리가 정리된다고 가정합니다 (필사적으로 희망합니다). 프로그램이 종료되거나 충돌 할 때 누수 된 메모리가 수집되지 않는 상황이 있습니까? 대답이 언어마다 크게 다르면 C (++)에 중점을 둡니다. '내일이없는 …
118 c++  c  memory  memory-leaks 

3
DESTDIR 및 PREFIX of make
특정 디렉토리에 소프트웨어를 설치하려고합니다. 여러 가지 방법을 찾았지만 그 차이점이 무엇인지 잘 모르겠습니다. ./configure --prefix=*** make install DESTDIR=*** make install prefix=*** 이 세 가지 기능에 대해 혼란 스럽습니다. 그들은 같은 목표를 달성합니까?
118 c  linux  bash  makefile  configure 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.