반응형

C 27

이 두 구조 선언의 차이점은 무엇입니까?

이 두 구조 선언의 차이점은 무엇입니까? 저는 다른 튜토리얼의 이 두 구조에 대해 혼란스럽습니다. typedef struct complex { float real; float imag; } COMPLEX; typedef struct { float real; float imag; } COMPLEX; COMPLEX c1; 요? 왜입니까? 그리고 소문자를 추가할 필요가 있습니까?complex구조 전에? 일반적인 상황이란? 번째 할 수 .COMPLEX아니면struct complex. 에서만 할 수 를 갖게 .COMPLEX. 따라서 C++에서 구조 이름은 유형 이름이며 직접 유형으로 사용할 수 있습니다. struct complex { ... }; complex c1; typedef struct complex{ f..

sourcecode 2023.10.05

#DEBUG 정의 1

#DEBUG 정의 1 디버깅 모드를 켜려고 하는데 만약에 #define DEBUG 1 나는 몇가지 변수 값을 출력하고 싶습니다. 그리고 만약 #define DEBUG 0 저는 그들을 떼어내길 원합니다. 문제는 제가 구현 파일을 많이 가지고 있는데 이 DEBUG 변수를 전체 프로젝트에 사용할 수 있기를 원한다는 것입니다.지금 당장 지루하고 오류가 많은 것처럼 보이는 foo1.c, foo2.c, foo3.c의 DEBUG 변수를 편집해야 하는데 더 좋은 방법이 있을 것입니다.좋은 의견이라도 있나?컴파일할 때 컴파일러에 옵션을 지정할 수 있어야 합니다.예를 들어, GCC에 전화를 걸 수 있습니다.-DDEBUG선택. 이 경우 다음을 사용하는 것이 좋습니다. #ifdef DEBUG #endif 또는: #if def..

sourcecode 2023.10.05

-D_DEFAULT_SOUR는 무엇을 합니까?

-D_DEFAULT_SOUR는 무엇을 합니까? 이전에 나는 다음으로부터 경고를 받고 있었습니다.gcc -std=c99그거usleep()은연중에 선언되었습니다.그러다 우연히 이 스택 오버플로우 게시물을 발견하고는-D_BSD_SOURCE. 하지만 지금은gcc라고 말해줍니다.-D_BSD_SOURCE사용하지 않을 것입니다.-D_DEFAULT_SOURCE대신. #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" 왜가.-D_BSD_SOURCE감가상각?왜가.-D_DEFAULT_SOURCE대신 사용?그게 무슨 역할을 하죠? 구글 검색을 좀 해봤는데, 결과는 그냥 닫으려고 사용하는 사람들로 가득 차 있어요.gcc위에. 왜 그 이유를 알 ..

sourcecode 2023.09.25

포인터와 레퍼런스의 실제 차이점은 무엇입니까?

포인터와 레퍼런스의 실제 차이점은 무엇입니까? AKA - 포인터에 집착하는 게 뭐죠? 액션스크립트, 자바, C#와 같은 객체 지향적인 현대 언어만을 실제로 사용해 본 저는 포인터의 중요성과 그것을 무엇에 사용하는지 잘 모르겠습니다.여기서 내가 뭘 놓치고 있는 거지?모든 것은 그냥 간접적인 것입니다.데이터를 다루지 않고 "저쪽에 있는 데이터로 안내해 드리겠습니다."라고 말하는 기능.자바와 C#에서 같은 개념이지만 참조 형식으로만 사용됩니다. 핵심적인 차이점은 참고문헌이 사실상 불변의 표지석이라는 점입니다. 항상 무언가를 가리킵니다.이것은 유용하고 이해하기 쉽지만 C 포인터 모델보다 유연성이 떨어집니다.C 포인터는 행복하게 다시 쓸 수 있는 표지판입니다.찾으시는 끈이 가리키는 끈 바로 옆에 있는 거 아시죠?..

sourcecode 2023.09.20

C 아날로그와 STL 연결

C 아날로그와 STL 연결 단지 궁금해서 그러는데, C++에 STL의 기능과 유사한 C 유사체가 있습니까?glib이라는 GTK+ 라이브러리에 대해 언급한 적이 있는데, 몇몇 사람들은 glib이라고 생각하지만, C에서 STL 기능을 제공하는 다른 라이브러리가 있습니까?네.glib링크된 목록, 배열, 해시 테이블 등과 같은 컨테이너를 조작하기 위한 수많은 유틸리티가 포함되어 있습니다.그리고 라는 객체지향적인 틀도 있습니다.GObject신호와 슬롯이 있는 객체를 C로 만들 때 사용할 수 있습니다(비록 다음과 같은 다소 장황한 함수 호출 이름을 사용하지만).gobject_set_property, C는 객체에 대한 구문이 없기 때문입니다).그리고 메인 루프에 대한 코드도 있어서 이벤트 중심의 프로그램을 작성할 수..

sourcecode 2023.09.20

작은 자바스크립트 구현?

작은 자바스크립트 구현? 문 닫았습니다.이 질문은 책, 도구, 소프트웨어 라이브러리 등에 대한 권장 사항을 찾고 있습니다.충족되지 않습니다.스택 오버플로 지침.현재 답변을 받지 않고 있습니다. 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 질문은 허용하지 않습니다.질문을 편집하여 사실과 인용으로 답변할 수 있습니다. 4년전에 문을 닫았습니다. 이 질문을 개선합니다. 매우 작은 구현이 필요합니다(아마도 하위 집합?).자바스크립트.코드 크기와 메모리 사용량은 매우 중요합니다(속도는 문제가 아니라 원하는 만큼 느리게 실행될 수 있음).C(C++가 아닌)로 작성해야 하며, ANSIC(GCC 확장자도 괜찮습니다)로 작성해야 합니다.VM에서 실행된다면 컴파일러를 작성해야 하기 때문에 가장 좋습니다.좋은..

sourcecode 2023.09.15

웹킷을 C/C++/Win32 응용 프로그램에 내장하는 방법은 무엇입니까?

웹킷을 C/C++/Win32 응용 프로그램에 내장하는 방법은 무엇입니까? 제가 찾은 해결책은 관련이 없습니다. 누군가 델파이 프로젝트에서 웹킷을 사용했습니다. 누군가 자바와 함께 사용했습니다. QtWebKit이 있습니다(약: 빈 데모 앱은 44메가바이트). .넷 포트 오브 잇 GTK+ 포트 Win32의 순수 C/C++ 애플리케이션에 WebKit 인스턴스를 내장하는 방법에 대한 가이드가 필요합니다.Brent Fullham은 Windows 카이로의 WebKit 포트를 제작하는 데 많은 노력을 기울였습니다. 이 포트는 Apple의 독점적인 백엔드 제품(예: CoreGraphics, CoreFoundation, CFNetwork)에 의존하지 않습니다.저는 그것이 당신이 추구하는 것이라고 믿습니다.세부 사항이 한..

sourcecode 2023.08.16

구조 포인터 내부의 포인터 참조 취소

구조 포인터 내부의 포인터 참조 취소 나는 구조를 가지고 있습니다. struct mystruct { int* pointer; }; structure mystruct* struct_inst; 이제 나는 다음이 가리키는 값을 변경하고 싶습니다.struct_inst->pointer.내가 어떻게 그럴 수 있을까? 편집 제가 쓴 건 아니지만,pointer이미 할당된 메모리 영역을 가리킵니다.malloc.다른 포인터와 마찬가지로.주소를 변경하려면 다음을 가리킵니다. struct_inst->pointer = &var; 해당 주소가 가리키는 주소의 값을 변경하는 방법 *(struct_inst->pointer) = var;mystruct 유형의 포인터를 만들고 있습니다. 포인터가 필요하지 않았을 수도 있습니다. int ..

sourcecode 2023.08.16

{0}, {0,}을(를) 사용하여 어레이를 초기화하시겠습니까?

{0}, {0,}을(를) 사용하여 어레이를 초기화하시겠습니까? 어레이를 초기화하고 싶다고 말합니다. char myArray[MAX] = {0}; char myArray[MAX] = {0,}; char myArray[MAX]; memset(myArray, 0, MAX); 그들은 모두 같습니까, 아니면 다른 것보다 선호되는 것입니까? 감사해요.사실 C++에서는 개인적으로 다음을 추천합니다. char myArray[MAX] = {}; 그들은 모두 같은 일을 하지만, 저는 C++로 된 것이 더 좋습니다; 그것은 가장 간결합니다. (불행히도 이것은 C.에서는 유효하지 않습니다.) 그건 그렇고, 주의하세요.char myArray[MAX] = {1};모든 값이 1로 초기화되지는 않습니다!첫 번째 값만 1로 초기화하고..

sourcecode 2023.08.11

구조체 끝의 크기가 0인 배열

구조체 끝의 크기가 0인 배열 이 질문에는 이미 다음과 같은 답이 있습니다. 요소가 0인 어레이가 필요한 이유는 무엇입니까? (5개 답변) 마감됨5년 전에. 제가 수강하고 있는 시스템 프로그래밍 강좌의 교수님께서 오늘 끝에 길이가 0인 배열을 가진 구조를 정의하라고 말씀하셨습니다. struct array{ size_t size; int data[0]; }; typedef struct array array; 이 구조는 변수를 사용하여 배열을 정의하거나 초기화하는 데 유용합니다. 예를 들어 다음과 같습니다. array *array_new(size_t size){ array* a = malloc(sizeof(array) + size * sizeof(int)); if(a){ a->size = size; } re..

sourcecode 2023.08.06
반응형