반응형

C 135

C 프로그램을 여러 파일로 분할하려면 어떻게 해야 합니까?

C 프로그램을 여러 파일로 분할하려면 어떻게 해야 합니까? C 함수를 2개의 다른 .c 파일에 쓰고 IDE를 사용합니다(코드::블록)을 사용하여 모든 것을 컴파일합니다. Code: 로 설정하는 방법:블록? 기능 호출 방법.c다른 파일 내에서 파일을 얻을 수 있습니까?일반적으로 이 두 가지 기능을 정의해야 합니다..c파일(예를 들어,A.c그리고.B.c시제품을 해당 헤더에 넣습니다(A.h,B.h(가드 포함)에 주의해 주세요. 언제든지.c다른 파일에 정의된 함수를 사용해야 합니다..c,넌 그럴 거다.#include해당 헤더를 사용하면 기능을 정상적으로 사용할 수 있습니다. 모든..c그리고..h파일을 프로젝트에 추가해야 합니다.IDE가 파일을 컴파일해야 하는지 여부를 묻는다면.c컴파일용입니다. 간단한 예: Fu..

programing 2022.08.30

캐시 라인 크기를 프로그래밍 방식으로 가져오시겠습니까?

캐시 라인 크기를 프로그래밍 방식으로 가져오시겠습니까? 모든 플랫폼을 환영합니다. 답변할 플랫폼을 지정하십시오. 비슷한 질문:C++의 CPU 캐시 페이지 크기를 프로그래밍 방식으로 가져오려면 어떻게 해야 합니까?Linux 의 경우는, sysconf(3) 를 참조해 주세요. sysconf (_SC_LEVEL1_DCACHE_LINESIZE) 명령줄에서 getconf를 사용하여 가져올 수도 있습니다. $ getconf LEVEL1_DCACHE_LINESIZE 64 Linux 에서는 (합리적으로 최신 커널을 사용하는 경우) /sys 에서 다음 정보를 얻을 수 있습니다. /sys/devices/system/cpu/cpu0/cache/ 이 디렉토리에는, 각 캐시 레벨의 서브 디렉토리가 있습니다.이러한 각 디렉토리에..

programing 2022.08.30

디렉토리를 소스 트리에서 바이너리 트리로 복사하는 방법

디렉토리를 소스 트리에서 바이너리 트리로 복사하는 방법 원본 트리에서 이진 트리로 디렉터리를 복사하는 중입니다.예를 들어 다음과 같습니다.www를 bin 폴더에 복사하는 방법. work ├─bin └─src ├─doing │ └─www ├─include └─lib 고마워요.버전 2.8 이후 file 명령어에는 copy 인수가 있습니다. file(COPY yourDir DESTINATION yourDestination) 주의: 상대 입력 경로는 현재 소스 디렉토리에 대해 평가되며 상대 수신처는 현재 빌드 디렉토리에 대해 평가됩니다. CMake 2.8에서는명령어를 사용합니다. 오래된 버전의 CMake에서는 이 매크로는 어떤 디렉토리에서 다른 디렉토리로 파일을 복사합니다.복사된 파일의 변수를 대체하지 않으려면..

programing 2022.08.30

C 포인터를 NULL로 초기화할 수 있습니까?

C 포인터를 NULL로 초기화할 수 있습니까? 이런 걸 쓰고 있었는데 char *x=NULL; 라는 가정하에 char *x=2; 를 생성한다.char2번입니다. 그러나 GNU C 프로그래밍 튜토리얼에는 다음과 같이 쓰여 있습니다.int *my_int_ptr = 2; '이러다'를 합니다.2, 「」에 임의의 합니다.my_int_ptr할당되었을 때. 은 나 하는 것 .char *x=NULL하든 상관없습니다.NULL to에 char메모리 내의 임의의 주소에 대한 것입니다. 하는 동안에 #include #include int main() { char *x=NULL; if (x==NULL) printf("is NULL\n"); return EXIT_SUCCESS; } 실제로 인쇄가 이루어지다 특수한 순서입니다. 컴..

programing 2022.08.30

C 포인터에서 어레이 크기를 가져오려면 어떻게 해야 합니까?

C 포인터에서 어레이 크기를 가져오려면 어떻게 해야 합니까? '배열을 '배열'로 .mystructn음음음같 뭇매하다 if (NULL == (p = calloc(sizeof(struct mystruct) * n,1))) { /* handle error */ } 할 수 건 나, later, have, have, 나, later밖에 요.p더.np 그럴 수도 있을 것 같아요free(p)알고 있습니다.malloc()할당되어 있는 메모리의 양을 추적하고 있기 때문에 길이를 알 수 있습니다.이정 문의 의의 의? ?? ???★★★★★★★★★★★★。 int length = askMallocLibraryHowMuchMemoryWasAlloced(p) / sizeof(mystruct) 를 하면 알 수 .n★★★★★★★★★★..

programing 2022.08.30

ISO C90은 C에서 선언과 코드가 혼재하는 것을 금지합니다.

ISO C90은 C에서 선언과 코드가 혼재하는 것을 금지합니다. 다음과 같이 변수를 선언했습니다. int i = 0; 경고 메시지를 받았습니다. ISO C90에서는 선언과 코드가 혼재하는 것을 금지하고 있습니다. 어떻게 하면 고칠 수 있죠?변수 선언을 블록의 맨 위로 이동해야 한다고 생각합니다.예. { foo(); int i = 0; bar(); } 로. { int i = 0; foo(); bar(); } C99 표준까지는 모든 선언이 블록 내의 어떤 문 앞에 와야 했습니다. void foo() { int i, j; double k; char *c; // code if (c) { int m, n; // more code } // etc. } C99는 선언과 스테이트먼트를 혼재시킬 수 있습니다(C++ 등)..

programing 2022.08.29

C에서 클래스를 구현하려면 어떻게 해야 합니까?

C에서 클래스를 구현하려면 어떻게 해야 합니까? 닫혔어. 이 질문은 좀 더 자세히 설명해야 합니다.초점을 맞춥니다.현재 답변을 받고 있지 않습니다. 이 질문을 개선하시겠습니까?이 게시물을 편집하여 하나의 문제에 초점을 맞추도록 질문을 업데이트하십시오. 2년 전에 문을 닫았어요 이 질문을 개선하다 C(C++ 컴파일러 또는 객체 지향 컴파일러 없음)를 사용해야 하며 동적 메모리 할당이 없다고 가정할 때 클래스 또는 클래스 근사 구현에 사용할 수 있는 기술은 무엇입니까?클래스는 항상 다른 파일로 분리하는 것이 좋은가요?메모리를 미리 할당하려면 일정한 인스턴스 수를 상정하거나 컴파일 시간 전에 각 객체에 대한 참조를 상수로 정의합니다.어떤 OOP 개념을 구현해야 하는지 가정하고(각각 다를 수 있음), 각각의 최..

programing 2022.08.29

iOS에서 더블/플로트의 최대값은 얼마입니까?

iOS에서 더블/플로트의 최대값은 얼마입니까? iOS의 더블/플로트 또는 그 파일에 정의되어 있는 파일의 값은 무엇입니까?아니면 INT_MAX 같은 매크로?안에 있을 거예요.:FLT_MAX,DBL_MAX,기타.iOS 시뮬레이터에서 로그인을 했습니다.LONG_MAX,FLT_MAX그리고.DBL_MAX제가 알아낸 건 다음과 같습니다. long max value: 9223372036854775807 float max value: 340282346638528859811704183484516925440.000000 double max value: 17976931348623157081452742373170435679807056752584499659891747680315726078002853876058955863276..

programing 2022.08.29

자기 참조 구조 정의?

자기 참조 구조 정의? C를 쓴 지 얼마 안 돼서 이런 재귀적인 일을 어떻게 해야 할지...각 셀에 다른 셀을 포함시키고 싶은데 "field 'child' has incomplete type" 행에 오류가 나타납니다.무슨 일입니까? typedef struct Cell { int isParent; Cell child; } Cell; 것은 ★★★★★Cell 이상 참을 수 Cell끝없는 재귀가 되기 때문입니다. , a,Cell에는 다른 can른에 대한 될 수 있습니다.Cell. typedef struct Cell { bool isParent; struct Cell* child; } Cell; C에서는 구조 자체를 사용하여 작성하는 typedef를 참조할 수 없습니다.다음 테스트 프로그램과 같이 구조물 이름을 ..

programing 2022.08.29

문자 포인터가 int*에서 캐스트된 후 유효하지 않은 값을 가리키고 있습니다.

문자 포인터가 int*에서 캐스트된 후 유효하지 않은 값을 가리키고 있습니다. 저는 C 프로그래밍 언어를 배우고 있으며, 포인터로 배열을 배우기 시작했습니다.이 질문에는 문제가 있습니다만, 그 출력은 「누구라도 이유를 설명해 주실 수 있습니까?」라고 하는 것이었으면 합니다. int main(){ int arr[] = {1, 2, 3, 4, 5}; char *ptr = (char *) arr; printf("%d", *(ptr+4)); return 0; } 하여 int 32비트(4바이트)의 개별 를 endian으로 합니다.int arr[]다음과 같습니다(낮은 주소의 최하위 바이트).(16) : |01 00 00 00|02 00 00 00|03 00 00 00|04 00 00 00|05 00 00 00 ch..

programing 2022.08.29
반응형