반응형

C 113

왜 C 프로그래머들은 기본 타입의 이름을 바꾸기 위해 typedefs를 사용하는가?

왜 C 프로그래머들은 기본 타입의 이름을 바꾸기 위해 typedefs를 사용하는가? 그래서 저는 C 전문가와는 거리가 멀지만, 제가 오랫동안 읽고 있는 코드에 대해 신경이 쓰이고 있습니다.왜 C(+) 프로그래머가 단순한 타입의 이름을 바꾸기 위해 typedef를 사용하는지 설명해 주실 수 있나요?구조물에 사용하는 이유는 이해합니다만, 제가 본 선언의 이유는 정확히 무엇입니까? typedef unsigned char uch; typedef uch UBYTE; typedef unsigned long ulg; typedef unsigned int u32; typedef signed short s16; 제가 알기 어려운 장점이 있나요? (Java에서 시작되어 엄격하게 안전한 언어를 사용하지 않은 프로그래머)왜냐..

source 2022.09.23

C프로그램의 정수를 위한 역사적인 typedef 수프는 무엇이었나요?

C프로그램의 정수를 위한 역사적인 typedef 수프는 무엇이었나요? 이것은 아마도 내가 답을 알아야 할 무의미한 질문이다. 의 15개의 정수 .#ifdef본되지 않는soup이 있는 것. 내가 본 모든 프로그램이나 라이브러리에는 서로 호환되지 않는 타입의 수프가 있는 것 같았다.그 당시에는 프로그래밍에 대해 잘 몰랐고 컴파일러에게 어떤 종류의 정수를 사용하고 싶은지 알려주는 것은 이상한 후프처럼 보였다. 나는 그 타이페프들이 무엇에 관한 것이었는지 설명하려고 마음속으로 이야기를 엮어봤지만 사실인지 모르겠다.기본적으로 C가 처음 개발되고 표준화되었을 때 플랫폼 독립적으로 특정 크기의 정수형을 얻을 수 있는 것이 얼마나 중요한지 깨닫지 못했기 때문에 플랫폼마다 원래의 C 정수형이 다를 수 있습니다.따라서 휴..

source 2022.09.23

Linux 또는 Windows에서 OS X를 컴파일하는 방법

Linux 또는 Windows에서 OS X를 컴파일하는 방법 C/C++ 앱을 OS X로 이식하고 싶습니다. Mac은 없지만 Linux와 Windows는 있습니다.이것을 위한 도구가 있나요?Linux에서 OS X(10.4~10.9)를 대상으로 하는 OSXCross라는 프로젝트를 만들었습니다. 는 재재 it it it it it it it를 지원하고 있습니다.clang.23.2(디스트)를 할 수 ).clang를 참조해 주세요. , 최신의 수 .GCC (4.6+)도입니다. LTO와 합니다.clang ★★★★★★★★★★★★★★★★★」GCC. 현재 ld64-242와 함께 cctools-870을 사용하고 있습니다. https://github.com/tpoechtrager/osxcrossLinux의 경우 사전 구축된..

source 2022.09.05

C 콘솔에 바이너리 트리를 그리는 방법

C 콘솔에 바이너리 트리를 그리는 방법 닫았습니다. 이 질문은디버깅 상세현재 답변을 받고 있지 않습니다. 이 질문을 개선하시겠습니까?스택 오버플로의 토픽이 되도록 질문을 업데이트합니다. 7년 전에 문을 닫았어요 이 질문을 개선하다 콘솔에서 바이너리 트리를 그릴 때 사용할 수 있는 알고리즘은 무엇입니까?트리는 C에서 구현됩니다.예를 들어 번호가 2 3 4 5 8인 BST는 콘솔에 다음과 같이 표시됩니다. ASCII로 바이너리 트리 인쇄 확인 아래의 @AnyOneElse Pastbin에서: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!Code originally from /http://www.openasthra.com/c-tidbits/printing-binary-trees-i..

source 2022.09.05

C에서 GUI 프로그래밍을 하려면 어떻게 해야 하나요?

C에서 GUI 프로그래밍을 하려면 어떻게 해야 하나요? 현재 이 질문은 Q&A 형식에 적합하지 않습니다.우리는 답변이 사실, 참고 자료 또는 전문지식에 의해 뒷받침되기를 기대하지만, 이 질문은 토론, 논쟁, 여론 조사 또는 연장된 토론을 요구할 것이다.이 질문이 개선되고 다시 열릴 수 있다고 생각되면헬프센터를 방문하여 안내를 받으십시오. 닫힘9년 전. 저는 C에서 그래픽 프로그래밍을 하고 싶습니다.C에서 GUI 프로그래밍을 할 수 있는 풍부한 기능을 제공하는 컴파일러에 대해 많이 찾아봤지만 아무것도 찾을 수 없었습니다. 기본적으로는 버튼을 그린 후 사용자의 선택을 받아들여 적절한 조치를 취하고 싶습니다.C 컴파일러나 제 컴파일러에 추가할 수 있는 라이브러리를 제안해 주시면 감사하겠습니다.저는 윈도 운영체..

source 2022.09.03

왜 "a"가 C로!= "a"가 되는 거죠?

왜 "a"가 C로!= "a"가 되는 거죠? void main() { if("a" == "a") printf("Yes, equal"); else printf("No, not equal"); } 은 왜 " " 입니다.No, not equal비교하고 있는 것은, 다른 장소에 격납되어 있는, 다른 문자열의 2개의 메모리주소입니다.기본적으로는 다음과 같습니다. if(0x00403064 == 0x002D316A) // Two memory locations { printf("Yes, equal"); } 다음 코드를 사용하여 두 문자열 값을 비교합니다. #include ... if(strcmp("a", "a") == 0) { // Equal } ★★★★★"a" == "a"사실대로 말하다컴파일 시 동일한 문자열을 1개로..

source 2022.09.01

++i와 i++의 차이점은 무엇입니까?

++i와 i++의 차이점은 무엇입니까? C를 사용하는 과 C를 사용하는 것의 입니까?++i ★★★★★★★★★★★★★★★★★」i++가 있습니다.for 루우프? 루우프? ++i will 。i하다 i = 1; j = ++i; (i is 2, j is 2) i++ will 。i, 원래 인 ᄃ, ᄃ, ᄃ는 값을 i이치노 i = 1; j = i++; (i is 2, j is 1) 의 for프,,, 어든든든든다 다다다다다다 ++iK&R에서 사용되는 제품이기 때문에 더 흔해 보입니다. , 「 」의 라인에 따라 주세요.++i에 걸쳐서i++ 않을 것입니다잘못하지 않을 겁니다. 에 대한 이 몇 ++i ★★★★★★★★★★★★★★★★★」i++학생 이외의 프로젝트 컴파일러에서는 퍼포먼스에 차이가 없습니다.동일한 코드를 생성함으로..

source 2022.09.01

컴파일러와 링커의 차이점은 무엇입니까?

컴파일러와 링커의 차이점은 무엇입니까? C의 컴파일러와 링커의 차이점은 무엇입니까?컴파일러는 사람이 읽을 수 있는 프로그래밍 언어로 작성된 코드를 프로세서가 이해하는 기계 코드 표현으로 변환합니다.이 단계에서는 오브젝트파일을 만듭니다. 이 단계가 컴파일러에 의해 완료되면 호출 및 실행할 수 있는 작업 실행 파일을 작성하기 위해 다른 단계가 필요합니다.즉, 컴파일된 코드가 동작하기 위해 호출해야 하는 함수 호출(예를 들어)을 관련짓습니다.예를 들어, 당신의 코드는sprintfC 표준 라이브러리의 루틴입니다.코드에는 실제 서비스를 제공하는 기능이 없습니다.sprintf는 호출할 필요가 있다고 보고할 뿐이지만 실제 코드는 공통 C 라이브러리 어딘가에 존재합니다.이 링크(및 다른 많은 링크)를 실행하려면 링커를..

source 2022.09.01

glibc의 stren은 왜 이렇게 복잡해야 빨리 실행할 수 있나요?

glibc의 stren은 왜 이렇게 복잡해야 빨리 실행할 수 있나요? strlen코드에 사용되는 최적화가 정말 필요한가요?예를 들어, 왜 다음과 같은 것이 똑같이 좋거나 더 낫지 않을까? unsigned long strlen(char s[]) { unsigned long i; for (i = 0; s[i] != '\0'; i++) continue; return i; } 컴파일러가 최적화하기 위해서는 단순한 코드가 더 낫거나 더 간단하지 않습니까? ★★★의 strlen링크 뒤에 있는 페이지의 내용은 다음과 같습니다. /* Copyright (C) 1991, 1993, 1997, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C..

source 2022.09.01

치명적인 오류: mpi.h: 해당 파일 또는 디렉토리 #이(가) 없습니다.

치명적인 오류: mpi.h: 해당 파일 또는 디렉토리 #이(가) 없습니다. 제 대본을 편집하는 데 있어서 #include 그런 파일이나 디렉토리가 없다고 합니다.그러나 mpi.h로의 경로를 포함하면 #include "/usr/include/mpi/mpi.h" (경로가 올바름)이 반환됩니다. In file included from /usr/include/mpi/mpi.h:2087:0, from lbm.cc:7: /usr/include/mpi/openmpi/ompi/mpi/cxx/mpicxx.h:35:17: fatal error: mpi.h: No such file or directory #include "mpi.h" ^ compilation terminated. 이거 고칠 줄 아는 사람?문제는 MPI 컴파..

source 2022.09.01
반응형