«c» 태그된 질문

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

12
단일 문자 만 읽기 위해 getchar ()로 Enter 키를 누르는 것을 피하는 방법은 무엇입니까?
다음 코드에서 : #include <stdio.h> int main(void) { int c; while ((c=getchar())!= EOF) putchar(c); return 0; } 으로 Enter입력 한 모든 글자를 인쇄 하려면을 눌러야 하는데이 getchar작업은하고 싶지 않습니다.하고 싶은 것은를 누르지 않고 소개 한 글자를 즉시 ​​반복해서 보는 것 Enter입니다. 예를 들어, 문자 'a'를 누르면 옆에 다른 'a'가 표시됩니다. …

4
memcpy (0,0,0)을 수행하는 것이 안전합니까?
나는 C 표준에 익숙하지 않으니 참아주세요. 그것이 memcpy(0,0,0)안전하다고 표준에 의해 보장되는지 알고 싶습니다 . 내가 찾을 수있는 유일한 제한은 메모리 영역이 겹치면 동작이 정의되지 않는다는 것입니다. 그러나 여기서 메모리 영역이 겹친다 고 생각할 수 있습니까?


7
strlcpy 및 strlcat이 안전하지 않은 것으로 간주되는 이유는 무엇입니까?
나는 그것을 이해 strlcpy하고 strlcat대한 보안 교체로 설계되었습니다 strncpy및 strncat. 그러나 일부 사람들은 여전히 ​​자신이 안전하지 않으며 단순히 다른 유형의 문제를 야기 한다고 생각합니다 . 누군가 strlcpy또는 strlcat(즉, 항상 null로 문자열을 종료 하는 함수 )를 사용하여 보안 문제를 일으킬 수 있는 방법에 대한 예를 제공 할 수 있습니까 ? Ulrich …
80 c  security  strncpy  strlcpy 

6
C의 값에 대한 주소 또는 포인터 인쇄
나는 상당히 단순 해 보이는 것을하고 싶다. 나는 결과를 얻었지만 문제는 결과가 올바른지 알 방법이 없다는 것입니다. 저는 C로 작업하고 있으며 두 개의 포인터가 있습니다. 포인터의 내용을 인쇄하고 싶습니다. 포인터가 가리키는 값을 얻기 위해 포인터를 역 참조하고 싶지 않고 포인터가 저장 한 주소 만 원합니다. 나는 다음 코드를 작성했고 내가 …

2
gcc 옵션 -fomit-frame-pointer 이해하기
Google에 gcc옵션 의 의미를 알려달라고 요청했으며 -fomit-frame-pointer,이 경우 아래 설명으로 리디렉션됩니다. -fomit-frame-pointer 프레임 포인터가 필요하지 않은 함수에 대해서는 레지스터에 프레임 포인터를 유지하지 마십시오. 이렇게하면 프레임 포인터를 저장, 설정 및 복원하는 지침이 필요하지 않습니다. 또한 많은 기능에서 추가 레지스터를 사용할 수 있습니다. 또한 일부 컴퓨터에서는 디버깅이 불가능합니다. 각 기능에 대한 지식에 …


9
문자 배열에 문자열 할당
나는 다음과 같이 조금 놀랐다. 예 1 : char s[100] = "abcd"; // declare and initialize - WORKS 예 2 : char s[100]; // declare s = "hello"; // initalize - DOESN'T WORK ('lvalue required' error) 두 번째 접근 방식이 작동하지 않는 이유가 궁금합니다. 그것이 (다른 데이터 유형과 함께 작동 …
80 c 

16
C 또는 C ++에서 좋은 gotos의 예 [닫힌]
닫힘 . 이 질문은 더 집중되어야 합니다. 현재 답변을 받고 있지 않습니다. 휴일 육년 전 . 잠김 . 이 질문과 답변은 주제에서 벗어 났지만 역사적 의미가 있기 때문에 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을 받아들이지 않습니다. 이 스레드에서 우리 goto는 C 또는 C ++ 의 좋은 사용 예를 살펴 …
79 c++  c  goto 

7
삼항 연산자가 매크로에서 1과 0을 정의하는 데 사용되는 이유는 무엇입니까?
임베디드 프로젝트에 SDK를 사용하고 있습니다. 이 소스 코드에서 적어도 나는 특이한 코드를 발견했습니다. SDK의 여러 위치에 다음 형식의 소스 코드가 있습니다. #define ATCI_IS_LOWER( alpha_char ) ( ( (alpha_char >= ATCI_char_a) && (alpha_char <= ATCI_char_z) ) ? 1 : 0 ) #define ATCI_IS_UPPER( alpha_char ) ( ( (alpha_char >= ATCI_CHAR_A) && …

9
계수 나눗셈 (%)이 정수에서만 작동하는 이유는 무엇입니까?
최근에 모듈러스 나누기를 사용하여 쉽게 해결할 수 있는 문제 가 발생 했지만 입력은 부동 소수점이었습니다. 주기 함수 (예 sin:)와주기 범위 내에서만 계산할 수있는 컴퓨터 함수 (예 : [-π, π])가 주어지면 모든 입력을 처리 할 수있는 함수를 만듭니다. "명백한"해결책은 다음과 같습니다. #include <cmath> float sin(float x){ return limited_sin((x + M_PI) % …
79 c++  c 

9
C에서 복잡한 프로젝트를 어떻게 구성해야합니까? [닫은]
닫힘 . 이 질문은 더 집중되어야 합니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중하도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 이 질문 개선 저는 초급 수준의 C 기술 이상을 가지고 있으며 C로 다소 복잡한 응용 프로그램을 구성하기위한 사실상 …

9
C 프로그램에서 100 % CPU 사용량을 얻는 방법
이것은 매우 흥미로운 질문이므로 장면을 설정하겠습니다. 저는 The National Museum of Computing에서 일하고 있으며 1992 년부터 Cray Y-MP EL 슈퍼 컴퓨터를 실행하는 데 성공했습니다. 얼마나 빨리 작동하는지보고 싶습니다! 이를 수행하는 가장 좋은 방법은 소수를 계산하는 데 걸리는 시간을 보여주는 간단한 C 프로그램을 작성한 다음 최신 데스크톱 PC에서 프로그램을 실행하고 결과를 …
79 c  windows  linux  performance  cray 


5
컴파일러가 "missing initializer"라는 경고를 던지는 이유는 무엇입니까? 구조가 초기화되지 않았습니까?
프로그램을위한 일종의 프론트 엔드를 만들고 있습니다. 프로그램을 시작하기 위해 나는 CreateProcess()무엇보다도 STARTUPINFO구조에 대한 포인터를받는 호출을 사용하고 있습니다. 내가 사용했던 구조를 초기화하려면 : STARTUPINFO startupInfo = {0}; // Or even '\0'. startupInfo.cb = sizeof(startupInfo); 이러한 경고 세트를 활성화하는 GCC로 프로그램을 컴파일 할 때 -Wall -Wextra첫 번째 줄을 가리키는 누락 된 초기화 …
79 c  winapi  gcc 

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