«c» 태그된 질문

C는 운영 체제, 게임 및 기타 고성능 작업에 사용되는 범용 컴퓨터 프로그래밍 언어입니다.

4
모든 C 프로그래머가 알아야 할 보안 위험 / 취약점은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 높은 수준의 프로그래밍 언어에서 잘 테스트되고 입증 된 API를 사용하는 것과는 달리 하드웨어에 밀접하게 접촉하면 많은 보안 …

3
새로운 C 프로젝트는 오래된 C 표준 (> 20 세, 즉 C89)을 언제 대상으로해야합니까?
때때로 나는 매우 오래된 C 표준 (일반적으로 C89)을 목표로하는 비교적 새로운 주요 오픈 소스 C 프로젝트를 본다. 예가 체계화되어 있습니다. 이 프로젝트에는 현명한 사람들이 있기 때문에 내가 알지 못하는이 결정의 근거가 될 수 있습니다. 의심의 여지가 있지만, 근거는 "더 오래되고 표준화 된 것이 항상 더 휴대 가능하고 더 좋다"는 것처럼 …
12 c  standards 

5
임베디드 시스템에서 단일 어레이에 대량의 스택을 할당하는 데 단점이 있습니까?
일반적으로 일부 데이터가 전역, 정적 또는 스택에 있는지 여부를 결정하는 데 아무런 문제가 없습니다 (여기서는 동적 할당이 없으므로 힙 사용 없음). 나는 이것 과 같은 몇 가지 Q / A를 읽었 지만 시스템 메모리에 비해 엄청난 양의 데이터가 관련되어 있기 때문에 내 질문은 더 구체적입니다. 개선하려고하는 기존 코드 (디자인, 가능한 …

2
C 2011에서 가변 길이 배열을 선택적으로 만든 이유는 무엇입니까?
CLA가 C 1999에 도입되었을 때, VLA가 언어에 큰 혁신이라고 생각했습니다. 그러나 C 2011에서 옵션으로 선택되었다는 사실을 알게 된 후 상태가 어떻게 바뀌 었는지 궁금해하며 실제로 기능이 더 이상 사용되지 않는 경우가 있습니다. 그렇다면, 동적으로 크기가 조정 된 데이터를 대체 할 것으로 간주되는 자동 관리 개념과 동등한 개념이 있습니까? C 2011 …

3
[] 연산자 대신 포인터 산술을 통해 배열 요소에 액세스하는 것을 참조하는 것이 좋지 않습니까?
방금 C로 프로그래밍을 배우고 포인터와 배열에 대한 이해를 높이기 위해 포인터를 전혀 만들지 않고 배열의 요소를 참조하려고했습니다. for(k1 = 0; k1 < ROW; k1++){ for(k2 = 0; k2 < COLUMN; k2++){ array[k1][k2] = k1*COLUMN + k2 + 1; printf("[%d][%d] = %d\n", k1, k2, *(array[k1] + k2)); } } 전체 코드는 …

2
C가 여전히 고급 언어 카테고리에있는 이유는 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . C 프로그래밍 언어에 대한 많은 교과서는 C가 고급 프로그래밍 언어라고 말하지만 많은 온라인 교사는 C도 중간 수준 프로그래밍 …

1
주목할만한 C 확장자에는 동작이 기계어 크기와 무관 한 정수 유형이 포함됩니다.
다른 언어와 비교하여 C의 흥미로운 특징은 많은 데이터 유형이 절대 용어로 지정되지 않고 대상 아키텍처의 단어 크기를 기반으로한다는 것입니다. 이렇게하면 특정 유형에 문제가있는 컴퓨터 에서 언어 를 사용하여 코드를 작성할 수 있지만 다른 아키텍처에서 일관되게 실행되는 코드를 설계하는 것은 매우 어렵습니다. 코드를 고려하십시오 : uint16_t ffff16 = 0xFFFF; int64_t who_knows …

2
C에서 배열을 함수 인수로 전달할 수없는 이유는 무엇입니까?
이 의견에 이어 , 나는 왜 구글을 시도했지만 내 구글 푸는 실패했습니다. 링크에서 의견 : [...] 그러나 중요한 것은 배열과 포인터가 C에서 다른 것입니다. 컴파일러 확장을 사용하지 않는다고 가정하면 일반적으로 배열 자체를 함수에 전달할 수 없지만 포인터를 전달하고 포인터를 배열처럼 인덱싱 할 수 있습니다. 포인터에 길이가 붙어 있지 않다고 효과적으로 …
12 c  history 

3
C 및 C ++ 프로그램에서 유형을 어떻게 표시해야합니까?
에서 내이 대답 , 내가 사용하는 _t최상의 논란 종료 유형의 끝에서. 이것이 현재 프로젝트에서 사용하는 관행입니다. typedef struct { int x; int y; } point_t; 이것은 stddef.hlike size_t또는의 C 유형과 일치하도록 의도되었습니다 ptrdiff_t. 그러나 내 질문에 대한 특정 의견에 따르면 _tpostfix는 POSIX 용으로 예약 된 것으로 보입니다. 대신에 무엇을 사용해야 …
12 c++  c  naming 

3
더 높은 수준의 언어를 읽을 수있는 C ++로 컴파일 할 수 있습니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . C ++은 여러면에서 훌륭한 언어이지만 특히 IDE없이 작성하는 것이 번거 롭습니다. VIM 사용자로서, S-Expressions 및 가능하게는 Lisp와 유사한 …

4
Linux에서 Intel C / C ++ 컴파일러를 사용하여 Windows에서 링크 될 오브젝트 파일을 작성할 수 있습니까?
왜? 소스에 따라 인텔 컴파일러는 아마도 x86 아키텍처를위한 가장 빠른 실행 파일을 생성하는 컴파일러 일 것입니다 (5 ~ 100 % 실행 시간 개선). 인텔은 Linux 용 컴파일러를 비상업적 라이센스로 무료로 제공합니다 (저는 인텔의 비 상업용 소프트웨어 개발 페이지에서 무료라고 생각합니다 ). 학생을위한 무료 비상업적 라이센스도 있지만이 세 가지 주요 운영 …

5
git 버전을 빌드 번호로 통합합니까?
동료와 나는 차례대로 현재 git 저장소에서 파생 된 버전을 빌드 할 때마다 코드에 통합하는 문제 / 장점에 대해 토론하고 토론했습니다. 장점은 다음과 같습니다. 버전 번호를 업데이트 할 때 사람의 실수에 대해 걱정할 필요가 없습니다. 장치에서 찾은 것과 장치에서 파생 된 소스 코드 간의 추적 성 (우리를 위해) 발생한 문제는 다음과 …
12 c  git  builds  build-system 

2
"거의"및 "거의"매크로의 사용량이 너무 많습니까?
로 알려진 매크로 likely및 unlikely매크로를 사용하면 컴파일러에서 if일반적으로 입력 여부를 알 수 있습니다. 이를 사용하면 성능이 약간 향상됩니다. 최근에 사용하기 시작했으며 그러한 힌트를 얼마나 자주 사용해야하는지 잘 모르겠습니다. 현재 오류 검사와 함께 사용하며 if일반적으로로 표시됩니다 unlikely. 예를 들면 다음과 같습니다. mem = malloc(size); if (unlikely(mem == NULL)) goto exit_no_mem; 괜찮아 …

9
Greenspun의 10 번째 규칙, 모든 큰 프로젝트에는 Lisp 통역사가 포함됩니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . Greenspun의 10 번째 규칙 (실제로 유일한 규칙)은 다음과 같이 말합니다. Any sufficiently complicated C or Fortran program contains …


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