«c» 태그된 질문

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

3
문자열 상수에서 'char *'로의 변환이 C에서는 유효하지만 C ++에서는 무효 인 이유
C ++ 11 표준 (ISO / IEC 14882 : 2011)의 내용은 다음과 § C.1.1같습니다. char* p = "abc"; // valid in C, invalid in C++ C ++의 경우 문자열 리터럴에 대한 포인터는 수정하려고하면 충돌이 발생하기 때문에 유해합니다. 그러나 C에서 왜 유효합니까? C ++ 11도 말합니다 : char* p = (char*)"abc"; …
163 c++  c  string  c++11  char 

6
C 프로그램에서 현재 디렉토리를 얻는 방법?
프로그램이 시작된 디렉토리를 가져와야하는 C 프로그램을 만들고 있습니다. 이 프로그램은 UNIX 컴퓨터 용으로 작성되었습니다. 나는에서 찾아 봤는데 opendir()와 telldir(),하지만 telldir()다시 발생 off_t (long int)정말 나에게 도움이되지 않습니다 그래서. 문자열 (char 배열)에서 현재 경로를 어떻게 얻을 수 있습니까?


15
expr에서 오버플로를 피하는 방법 A * B-C * D
A*B - C*D유형이 다음과 같은 표현식을 계산해야합니다 signed long long int A, B, C, D; . A*B오버플로가 발생할 수 있지만 동시에 표현 A*B - C*D은 매우 작을 수 있습니다. 올바르게 계산하려면 어떻게해야합니까? 예 : MAX * MAX - (MAX - 1) * (MAX + 1) == 1, where MAX = …
161 c++  c  integer-overflow 


8
문자열 리터럴 : 어디로 가나 요?
문자열 리터럴이 할당 / 저장되는 위치에 관심이 있습니다. 나는 하나의 흥미로운 답을 찾았어요 여기에서 말하는 : 문자열 인라인을 정의하면 실제로 프로그램 자체에 데이터가 포함되며 변경할 수 없습니다 (일부 컴파일러는 스마트 트릭으로 허용하지만 귀찮게하지는 않습니다). 그러나 C ++과 관련이 있으며 귀찮게하지 말라고 언급하지 않았습니다. 귀찮게 해요. = D 그래서 내 질문은 …



14
Windows에서 가장 빠른 화면 캡처 방법
Windows 플랫폼 용 스크린 캐스팅 프로그램을 작성하고 싶지만 화면을 캡처하는 방법을 잘 모르겠습니다. 내가 아는 유일한 방법은 GDI를 사용하는 것입니다. 그러나이 문제를 해결할 다른 방법이 있는지, 그리고 있다면 거기에 가장 적은 오버 헤드가 발생하는지 궁금합니다. 속도가 우선입니다. 스크린 캐스팅 프로그램은 게임 푸티지를 녹화하기위한 것이지만 옵션이 좁아지면이 범위를 벗어나는 다른 제안이 …
159 c++  c  windows 

13
“컴파일 타임에 할당 된 메모리”는 실제로 무엇을 의미합니까?
C 및 C ++와 같은 프로그래밍 언어에서 사람들은 종종 정적 및 동적 메모리 할당을 참조합니다. 나는 개념을 이해하지만 "컴파일 시간 동안 모든 메모리가 할당 (예약)되었다"는 문구는 항상 혼란스러워합니다. 내가 이해하는 것처럼 컴파일은 고급 C / C ++ 코드를 기계 언어로 변환하고 실행 파일을 출력합니다. 컴파일 된 파일에서 메모리는 어떻게 "할당"됩니까? …

14
Mojave로 업그레이드 한 후 Mac에서 C 프로그램을 컴파일 할 수 없습니다
터미널에서 gcc 명령을 사용하여 C 프로그램을 컴파일했지만 갑자기 Mac OS (macOS 10.14 Mojave 및 XCode 10.0)로 업데이트 한 후 메시지가 수신되기 시작했습니다. test.c:8:10: fatal error: stdio.h: No such file or directory #include <stdio.h> ^~~~~~~~~ compilation terminated. gcc가 이미 설치되어 /usr/local/bin있고 실제로 gcc가 있습니다. 다른 iMac에서 동일한 파일을 실행하려고 시도했지만 아무런 …
159 c  macos  gcc  terminal 

1
“C 프로그래밍 언어”책에서 malloc을 캐스팅해야한다고 왜 말합니까?
오늘은 페이지에 도달 167 의 언어 (2 판 브라이언 W. 커니 핸 & 데니스 M. 리치를) 프로그래밍은 C를 하고 저자가 I 캐스팅해야한다고 발견 malloc. 이 책의 일부는 다음과 같습니다. 7.8.5 스토리지 관리 malloc 및 calloc 함수는 동적으로 메모리 블록을 얻습니다. void *malloc(size_t n) 초기화되지 않은 스토리지의 n 바이트에 대한 포인터를 …

3
함수 선언은 프로토 타입이 아닙니다
내가 만든 라이브러리가 있는데 mylib.c : #include <mylib.h> int testlib() { printf("Hello world\n"); return (0); } mylib.h : #include <stdio.h> extern int testlib(); 내 프로그램 에서이 라이브러리 함수를 호출하려고했습니다. myprogram.c : #include <mylib.h> int main (int argc, char *argv[]) { testlib(); return (0); } 이 프로그램을 컴파일하려고하면 다음 오류가 발생합니다. …
158 c  gcc 


9
값을 반환하지 않고 비 공백 함수의 끝에서 벗어나는 이유가 컴파일러 오류를 발생시키지 않는 이유는 무엇입니까?
몇 년 전에 이것이 기본적으로 (최소한 GCC에서) 오류를 일으키지 않는다는 것을 깨달은 이래로 나는 왜 그 이유를 궁금해 했습니까? 컴파일러 플래그를 발행하여 경고를 생성 할 수 있지만 항상 오류가 아니어야한다는 것을 알고 있습니다. 무효가 아닌 함수가 값을 반환하지 않는 것이 왜 유효합니까? 주석에서 요청한 예 : #include <stdio.h> int stringSize() …
158 c++  c  gcc  g++ 

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