반응형

C 34

컴파일 시 GCC의 현재 버전을 어떻게 테스트합니까?

컴파일 시 GCC의 현재 버전을 어떻게 테스트합니까? GCC 버전에 따라 다른 파일을 포함하고 싶습니다.좀 더 정확히 말하면, 다음과 같습니다. #if GCC_VERSION >= 4.2 # include # define EXT std #elif GCC_VERSION >= 4 # include # define EXT std #else # include # define unordered_map __gnu_cxx::hash_map # define EXT __gnu_cxx #endif 나는 3.2 이전의 gcc는 신경쓰지 않습니다. 전처리 시간에 정의된 변수가 있을 거라고 확신합니다. 다시 찾을 수가 없습니다.필요에 따라 정의해야 하는 매크로는 다음과 같습니다. __GNUC__ // major __GNUC_MI..

source 2023.08.30

우분투에서 이클립스의 루트로 애플리케이션을 디버그하는 방법은 무엇입니까?

우분투에서 이클립스의 루트로 애플리케이션을 디버그하는 방법은 무엇입니까? 저는 libpcap을 사용하여 애플리케이션을 프로그래밍하고 있습니다.정상 모드에서 응용 프로그램을 디버그하면 pcap에서 네트워크 장치를 가져올 수 없습니다.애플리케이션을 루트에서 디버그해야 할 것 같습니다.루트에서 응용 프로그램을 디버그하려면 어떻게 해야 합니까?루트 암호를 가지고 있습니다.Eclipse는 디버깅 애플리케이션에 루트를 추가할 수 있는 옵션이 있다고 생각합니다만, 어떻게 해야 할지 모르겠습니다. 도와주세요. 사용자가 암호를 묻지 않고 gdb를 루트로 실행할 수 있도록 합니다. sudo visudo 다른 모든 규칙 뒤에 다음 행을 추가합니다. ALL=(root) NOPASSWD:/usr/bin/gdb gdb를 루트로 ..

source 2023.08.25

리턴 1, 리턴 0, 리턴 -1과 출구의 차이?

리턴 1, 리턴 0, 리턴 -1과 출구의 차이? 다음 코드를 예로 들어 보겠습니다. int main(int argc,char *argv[]) { int *p,*q; p = (int *)malloc(sizeof(int)*10); q = (int *)malloc(sizeof(int)*10); if (p == 0) { printf("ERROR: Out of memory\n"); return 1; } if (q == 0) { printf("ERROR: Out of memory\n"); exit(0); } return 0; } 무엇인가.return 0,return 1,exit(0)위 프로그램에서 무엇을 합니까?exit(0)토탈 프로그램을 종료하고 컨트롤이 루프에서 나오지만 다음과 같은 경우에 발생합니다.retur..

source 2023.08.20

변수/포인트의 유형을 C로 출력할 수 있는 방법이 있습니까?

변수/포인트의 유형을 C로 출력할 수 있는 방법이 있습니까? 프로그램에 포함된 변수 유형을 인쇄하거나 확인합니다.그것을 하는 좋은 방법이 있습니까?좋은 뜻은, 비록 그것이 의도적으로 컴파일러 오류를 던지는 것을 의미하더라도, 작동하는 방법을 의미합니다. 예: client.c:55: error: incompatible types in assignment 제가 지금 받고 있는 오류입니다.제가 원하는 것은 다음과 같은 것을 말해주는 것입니다. client.c:55: error: attempting to assign type struct a to type struct b 또는 다음과 같이 사용할 수 있는 기능: printf(gettype(x)); 출력할 수 있습니다. struct b 저는 방금 이것을 하는 방법..

source 2023.08.05

컴파일러 경고 '임의적 함수 선언 memset'을 해결하는 방법

컴파일러 경고 '임의적 함수 선언 memset'을 해결하는 방법 제 c코드는 'memset'과 'close'를 사용합니다.그리고 다음을 추가했습니다. #include #include #include 하지만 저는 여전히 다음과 같은 경고를 받습니다. main.c:259: warning: implicit declaration of function ‘memset’ main.c:259: warning: incompatible implicit declaration of built-in function ‘memset’ main.c:268: warning: implicit declaration of function ‘close’ main.c:259: warning: incompatible implicit declar..

source 2023.07.31

main 앞에 함수 호출

main 앞에 함수 호출 이 질문에는 이미 다음과 같은 답이 있습니다. 마감됨11년 전에. 중복 가능성: 메인()이 정말로 C++ 프로그램의 시작입니까? 프로그램이 시작되기 전에 내 기능을 호출할 수 있습니까?어떻게 하면 이 일을 할 수 있습니까?C++또는C?전역 변수를 가질 수도 있고 다음과 같이 사용할 수 있습니다.static학급의 일원 1)static학급의 구성원 //BeforeMain.h class BeforeMain { static bool foo; }; //BeforeMain.cpp #include "BeforeMain.h" bool BeforeMain::foo = foo(); 전역 변수 bool b = foo(); int main() { } 룬딘이 게시한 이 링크(http://www.para..

source 2023.07.01

레지스터 키워드가 생성된 이유는 무엇입니까?

레지스터 키워드가 생성된 이유는 무엇입니까? Herb Sutter의 '그렇지 않은 키워드'(또는 '다른 이름의 댓글')를 읽는 동안 저는 다음과 같은 대사를 접했습니다. 맞습니다, 어떤 키워드는 의미론적으로 공백, 미화된 댓글과 같습니다. 그리고. 우리는 왜 C++ 언어가 키워드를 예약된 단어로 취급하는지 보았고, C++ 프로그램에 의미론적인 차이가 없는 두 개의 키워드, 즉 자동 및 등록을 보았습니다.사용하지 마십시오. 공백일 뿐이므로 공백을 더 빠르게 입력할 수 있습니다. 만약 키워드가auto(C++11에서는 아닐 수 있음) 및register가치가 없는데, 왜 그것들이 만들어지고 사용되었습니까? 만약 그것을 포함하는 것이 아무런 차이가 없다면.register변수 앞에 #include int main(..

source 2023.07.01

corc++을 위한 단순한 2D 교차 플랫폼 그래픽 라이브러리?

corc++을 위한 단순한 2D 교차 플랫폼 그래픽 라이브러리? 마감되었습니다. 이 질문은 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 것입니다.충족되지 않습니다.스택 오버플로 지침입니다.현재 답변을 수락하고 있지 않습니다. 책, 도구, 소프트웨어 라이브러리 등에 대한 추천을 구하는 질문은 허용되지 않습니다.질문에 사실과 인용문으로 답변할 수 있도록 질문을 편집할 수 있습니다. 6년 전에 문을 닫았습니다. 이 질문을 개선합니다. 제목과 마찬가지로, 저는 크로스 플랫폼이고 기본처럼 간단한 기능을 제공하는 2D 그래픽 라이브러리가 필요합니다. 기본적으로 특정 색상의 픽셀만 칠하면 됩니다. 하드웨어 가속이나 어떤 종류의 3D 지원도 필요하지 않습니다.몇 개 찾았지만, 교차 플랫폼은 아닙니다. 나..

source 2023.06.21

CLion에서 단일 파일을 생성, 컴파일 및 실행하는 방법

CLion에서 단일 파일을 생성, 컴파일 및 실행하는 방법 저는 몇 가지 C++ 작업을 하고 있으며 파일에서 몇 가지를 실행하기 위해 완전히 새로운 프로젝트를 만들어야 하는 것을 싫어합니다. 또한 프로젝트를 만들 때 파일이 이미 호출되는 방식이 마음에 들지 않습니다.main.cpp. 저는 단지 몇 가지 기능이나 클래스가 있는 단일 파일을 만들고 싶습니다.전체 프로젝트를 만들 만큼 중요하지 않습니다. 나는 파일을 만들고 내가 원하는 대로 부르고 싶습니다.내가 부르는 파일을 만들고 컴파일하여 실행하면 됩니다. 나는 그 모든 것을 다루고 싶지 않습니다.CMake하나의 파일만 컴파일하면 됩니다. 관련 프로젝트가 없습니다.감사해요. 비주얼 스튜디오에서 할 수 있다는 것을 알지만, 저는 다음을 사용하여 Mac OS..

source 2023.06.11
반응형