«c» 태그된 질문

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

3
clang을 감지하는 데 사용할 수있는 사전 정의 된 매크로는 무엇입니까?
내 소스 코드를 컴파일하는 데 사용되는 컴파일러를 감지하려고합니다. MSVC 또는 GCC ( 예 : http://predef.sourceforge.net/ 참조)를 확인하기 위해 미리 정의 된 매크로를 쉽게 찾을 수 있지만 clang을 확인할 매크로를 찾을 수 없습니다. clang __CLANG__이 현재 내 코드를 컴파일하고 있는지 알기 위해 매크로가 매크로를 정의하는지 누군가 알고 있습니까?


8
c = ++ (a + b)에서 컴파일 오류가 발생하는 이유는 무엇입니까?
조사한 후 증분 연산자에는 피연산자가 수정 가능한 데이터 개체가 필요하다는 것을 읽었습니다. https://en.wikipedia.org/wiki/Increment_and_decrement_operators . 이것으로부터 나는 (a+b)임시 정수이므로 수정할 수 없기 때문에 컴파일 오류가 발생한다고 생각합니다 . 이 이해가 맞습니까? 문제를 조사하는 것은 이번이 처음 이니 찾아보아야 할 것이 있다면 조언 해주십시오.
111 c  increment 

20
오래된 데스크톱 컴퓨터에서 소규모 운영 체제를 구축하려면 어떻게해야합니까? [닫은]
닫힘 . 이 질문은 더 집중되어야 합니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중하도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 이 질문 개선 운영 체제를 작성하는 것이 (특히 혼자서) 참을 수 없을 정도로 복잡하다는 것을 알고 있기 …

8
공통 데이터 구조를 가진 오픈 소스 C 라이브러리가 있습니까? [닫은]
현재이 질문은 Q & A 형식에 적합하지 않습니다. 사실, 참고 문헌 또는 전문 지식이 답변을 뒷받침 할 것으로 기대하지만이 질문은 토론, 논쟁, 여론 조사 또는 확장 된 토론을 유도 할 가능성이 높습니다. 이 질문이 개선되고 다시 열릴 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으세요. 휴일 칠년 전에 …
111 c  data-structures 

13
C 통역사가 있습니까? [닫은]
닫은. 이 질문은 Stack Overflow 지침을 충족하지 않습니다 . 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? Stack Overflow의 주제에 맞게 질문을 업데이트하세요 . 휴일 2 년 전 . 잠김 . 이 질문과 답변은 주제에서 벗어 났지만 역사적 의미가 있기 때문에 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을 받아들이지 …

8
"구조 해킹"은 기술적으로 정의되지 않은 동작입니까?
내가 묻는 것은 잘 알려진 "구조체의 마지막 멤버가 가변 길이를 가짐"트릭입니다. 다음과 같이 진행됩니다. struct T { int len; char s[1]; }; struct T *p = malloc(sizeof(struct T) + 100); p->len = 100; strcpy(p->s, "hello world"); 구조체가 메모리에 배치되는 방식으로 인해 필요한 것보다 큰 블록 위에 구조체를 오버레이하고 마지막 멤버를 …




3
2 차원 배열을 할당하는 이상한 방법?
프로젝트에서 누군가 다음 줄을 썼습니다. double (*e)[n+1] = malloc((n+1) * sizeof(*e)); 이것은 아마도 (n + 1) * (n + 1) double의 2 차원 배열을 생성합니다. 아마 지금까지 내가 물었다 아무도 정확히, 이것은 무엇을 말해 줄 수 없었다 때문에, 나는 말,도 아니다 유래 어디서 왜 작동합니다 (주장, 그것은 않는,하지만 난 아직 …

3
주석 만 변경된 두 개의 프로그램 바이너리가 gcc에서 정확히 일치하지 않는 이유는 무엇입니까?
두 개의 C 프로그램을 만들었습니다. 프로그램 1 int main() { } 프로그램 2 int main() { //Some Harmless comments } AFAIK, 컴파일 할 때 컴파일러 (gcc)는 주석과 중복 된 공백을 무시해야하므로 출력이 유사해야합니다. 그러나 출력 바이너리의 md5sum을 확인했을 때 일치하지 않습니다. 또한 최적화 컴파일 시도 -O3하고 -Ofast있지만 아직 일치하지 않습니다. …

30
C / C ++에서 바이트의 비트 순서를 바꾸는 가장 간단한 방법은 무엇입니까?
한 바이트에서 비트 순서를 바꾸는 방법은 여러 가지가 있지만 개발자가 구현하는 "가장 간단한"것이 무엇인지 궁금합니다. 그리고 반전하면 다음을 의미합니다. 1110 -> 0111 0010 -> 0100 이것은 이 PHP 질문 과 비슷하지만 중복되지는 않습니다 . 이것은 이 C 질문 과 유사하지만 중복되지는 않습니다 . 이 질문은 개발자가 구현하는 가장 쉬운 방법을 …
110 c++  c  bit-manipulation 

10
C / C ++ 줄 번호
디버깅 목적으로 C / C ++ 컴파일러 에서 줄 번호를 얻을 수 있습니까? (특정 컴파일러에 대한 표준 방식 또는 특정 방식) 예 : if(!Logical) printf("Not logical value at line number %d \n",LineNumber); // How to get LineNumber without writing it by my hand?(dynamic compilation)

11
GCC 및 ld로 ​​사용하지 않는 C / C ++ 기호를 제거하는 방법은 무엇입니까?
내 실행 파일의 크기를 심각하게 최적화 ( ARM개발)해야하는데 현재 빌드 체계 ( gcc+ ld)에서 사용하지 않는 기호가 제거되지 않는다는 것을 알았습니다 . arm-strip --strip-unneeded결과 실행 파일 / 라이브러리에 대한 의 사용은 실행 파일의 출력 크기를 변경하지 않습니다 (이유를 모르겠습니다 . 단순히 불가능할 수도 있습니다) . 건물 파이프 라인을 수정하여 결과 …
110 c++  c  gcc  ld  strip 

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