«c» 태그된 질문

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

5
포인터 주소와 포인터 값을 증가시키는 방법은 무엇입니까?
가정 해 봅시다. int *p; int a = 100; p = &a; 다음 코드는 실제로 무엇을 어떻게할까요? p++; ++p; ++*p; ++(*p); ++*(p); *p++; (*p)++; *(p)++; *++p; *(++p); 나는 이것이 코딩 측면에서 다소 지저분하다는 것을 알고 있지만, 우리가 이와 같이 코딩 할 때 실제로 어떤 일이 일어날 지 알고 싶습니다. 참고 …
96 c  pointers 

13
전 처리기 매크로에서 "sizeof"를 어떻게 사용할 수 있습니까?
sizeof전 처리기 매크로에서 를 사용하는 방법이 있습니까? 예를 들어, 몇 년 동안 제가 다음과 같은 일을하고 싶었던 많은 상황이있었습니다. #if sizeof(someThing) != PAGE_SIZE #error Data structure doesn't match page size #endif 내가 여기서 확인하는 정확한 것은 완전히 구성되어 있습니다. 요점은 종종 이러한 유형의 (크기 또는 정렬) 컴파일 타임 검사를 삽입하여 …
95 c  gcc 

6
C의 물결표 연산자
ELF 해싱 알고리즘에 사용 된 물결표 연산자를 보았는데 그것이 무엇을하는지 궁금합니다. (코드는 Eternally Confused에서 가져온 것 입니다.) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; i++ ) { h …
95 c++  c  operators 

9
컴파일 오류 :“g ++ : 'cc1plus'를 실행하는 동안 오류 발생 : execvp : 해당 파일 또는 디렉토리가 없습니다.”
popenin php...으로 C / C ++ 프로그램을 컴파일 할 때이 오류가 발생했습니다. g++: error trying to exec 'cc1plus': execvp: No such file or directory 하지만 쉘에서 PHP 코드를 실행하면 잘 작동합니다 .. 아치 리눅스에서 .. PHP 코드 : <?php function rfile($fp) { $out=""; while (!feof($fp)) { $out.= fgets($fp, 1024000); } …
95 php  c++  c  linux  gcc 

3
"메모리 스톰프"란 무엇입니까?
방금 "기억을 뛰어 넘는 "에 대해 언급 한이 블로그 게시물 을 보았습니다. 메모리를 쉽게 밟을 수있는 C ++ 프로그램 (관리되는 코드 세계에서 태어났다면 들어 보지 못한 것) 사실 저는 들어 본 적이 없습니다! 그래서, 이것은 무엇입니까, 기억 쿵쾅 거리는 기억? 언제 발생합니까?


3
SRC, OBJ 및 BIN 하위 디렉토리가있는 C 프로젝트 용 Makefile을 어떻게 만들 수 있습니까?
몇 달 전에 저는 Makefile학교 과제를 위해 다음과 같은 일반적인 사항 을 생각해 냈습니다 . # ------------------------------------------------ # Generic Makefile # # Author: yanick.rochon@gmail.com # Date : 2010-11-05 # # Changelog : # 0.01 - first version # ------------------------------------------------ # project name (generate executable with this name) TARGET = projectname …
95 c  makefile 

3
GDB로 스택의 내용을 어떻게 볼 수 있습니까?
저는 GDB를 처음 사용하므로 몇 가지 질문이 있습니다. 스택의 내용을 어떻게 볼 수 있습니까? 예 : 레지스터의 내용을 보려면를 입력 info registers합니다. 스택의 경우 무엇이어야합니까? 의 내용을 $0x4(%esp)어떻게 볼 수 있습니까? 를 입력 print /d $0x4(%esp)하면 GDB에서 오류가 발생합니다. 플랫폼 : Linux 및 GDB
95 c  assembly  gdb 


15
C에서 오류 관리를위한 goto의 유효한 사용?
이 질문은 사실 얼마 전 programming.reddit.com에서 흥미로운 토론 의 결과입니다 . 기본적으로 다음 코드로 요약됩니다. int foo(int bar) { int return_value = 0; if (!do_something( bar )) { goto error_1; } if (!init_stuff( bar )) { goto error_2; } if (!prepare_stuff( bar )) { goto error_3; } return_value = do_the_thing( …

9
C의 중첩 함수
C에서 중첩 함수를 가질 수 있습니까? 중첩 함수의 사용은 무엇입니까? C에 존재한다면 컴파일러마다 구현이 다른가요?
95 c  function  nested 

2
어셈블리 파일이 프로젝트에 포함 된 경우 mmap에서 예기치 않은 exec 권한
나는 이것으로 벽에 머리를 두드리고 있습니다. 내 프로젝트 mmap에서 매핑 ( /proc/self/maps)으로 메모리를 할당 할 때 읽기 가능한 메모리 만 요청 했지만 읽기 가능하고 실행 가능한 영역임을 보여줍니다 . strace (좋아 보이는) 및 기타 디버깅을 살펴본 후에 프로젝트에서 어셈블리 파일을 제거하고 순수한 C 만 남겨 두는이 이상한 문제를 피하는 것으로 …
94 c  linux  assembly  mmap 

12
C에서 Linux에서 PID로 프로세스의 CPU 사용량을 계산하는 방법은 무엇입니까?
Linux에서 주어진 프로세스 ID에 대해 프로그래밍 방식으로 [C에서] CPU 사용량 %를 계산하고 싶습니다. 주어진 프로세스에 대한 실시간 CPU 사용량 %를 어떻게 얻을 수 있습니까? 더 명확하게하려면 : 제공된 프로세스 ID 또는 프로세스에 대한 CPU 사용량을 확인할 수 있어야합니다. 프로세스가 하위 프로세스 일 필요는 없습니다. 'C'언어로 된 솔루션을 원합니다.
94 c  linux  cpu-usage 


10
C ++ 클래스 메모리 구조에서 "스페이서"를 어떻게 만듭니 까?
문제 A의 낮은 수준의 베어 메탈 (bare-metal) 임베디드 환경, 나는 액세스 메모리 위치에 사용자를 금지하기 위해, C ++ 구조 내에서 어떤 이름없이, 메모리에 빈 공간을 만들고 싶습니다. 지금 uint32_t :96;은 세 단어를 편리하게 대신 할 추악한 비트 필드를 배치하여 달성 했지만 GCC (uint32_t에 맞기에는 비트 필드가 너무 큼) 경고가 발생합니다. …

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