반응형

C 49

"int mask = ~0;"의 목적은 무엇입니까?

"int mask = ~0;"의 목적은 무엇입니까? 저는 여기 C에서 다음 코드 라인을 보았습니다. int mask = ~0; 의 가치를 인쇄했습니다.maskC와 C++로 표시됩니다.항상 인쇄됩니다.-1. 그래서 몇 가지 질문이 있습니다. 값을 할당하는 이유~0마스크 변수로? 의 목적은 무엇입니까?~0? 사용할 수 있습니까?-1대신에~0? 현재 아키텍처에서 정수에 포함된 비트 수를 알 필요 없이 정수의 모든 이진 비트를 1비트로 설정할 수 있는 휴대용 방법입니다.C와 C++는 부호 크기, 한 개의 보어, 두 개의 보어의 세 가지 다른 부호 정수 형식을 허용합니다. ~0시스템에서 사용하는 부호 형식에 관계없이 올원 비트를 생성합니다.그래서 그것은 더 휴대하기 쉽습니다.-1 추가할 수 있습니다.U접미사(즉,..

source 2023.07.16

C++ 단일 줄 주석 뒤에 다중 줄 주석의 \변환이 나옵니다.

C++ 단일 줄 주석 뒤에 다중 줄 주석의 \변환이 나옵니다. 에서 C++를 사용하여 ?//some comment\style 에 스일줄배 (끝치에타줄배)을 .\ 행으로 의견이 다중 행으로 변환됩니까? g++ 4.8 및 VS 2012로 테스트됨 //some interesting stuff\ another interesting stuff\ etc C++ 표준, 2.2 - 번역 단계.2단계는 다음을 포함합니다. 문자의 각 인스턴스(instance of backslash 문자의 각 (instance)\줄을 형성합니다 바로 뒤에 있는 줄 바꿈 문자가 삭제되어 물리적인 줄을 스플라이싱하여 논리적인 줄을 형성합니다. 3단계는 다음을 포함합니다. 각 주석은 공백 문자 하나로 대체됩니다. 따라서 줄 끝의 백슬래시는 주석..

source 2023.07.16

열거형이 목록에 없는 값을 가질 수 있습니까?

열거형이 목록에 없는 값을 가질 수 있습니까? 이 질문에는 이미 답이 있습니다. static_cast 잘못된 값을 열거형 클래스에 지정하면 어떻게 됩니까? (1개 답변) 마감됨7년 전에. 이봐, 우리는. enum E { Foo = 0, Bar = 1 }; 이제, 우리는. enum E v = ( enum E ) 2; 그리고 나서. switch ( v ) { case Foo: doFoo(); break; case Bar: doBar(); break; default: // Is the compiler required to honor this? doOther(); break; } 열 된 가 모 처 로 컴 므 러 가 일 최 화 적 하 파 여 하 리 값 을 한 능 든 거 ▁the ▁away , ▁since 하 화 ..

source 2023.07.16

리눅스에서 C 또는 C++의 프로세스에 대한 CPU 선호도를 설정하는 방법은 무엇입니까?

리눅스에서 C 또는 C++의 프로세스에 대한 CPU 선호도를 설정하는 방법은 무엇입니까? 리눅스 운영 체제용 c/c++의 프로세스에 대한 CPU 선호도를 설정하는 프로그래밍 방식이 있습니까?사용해야 합니다. 예를 들어 CPU 0 및 2에서만 실행하려면 다음을 수행합니다. #define _GNU_SOURCE #include cpu_set_t mask; CPU_ZERO(&mask); CPU_SET(0, &mask); CPU_SET(2, &mask); int result = sched_setaffinity(0, sizeof(mask), &mask); (0첫 번째 매개 변수는 현재 프로세스를 의미하며, 제어하려는 다른 프로세스인 경우 PID를 제공합니다. 참고 항목.프로세스 수준에서 sched_setaffini..

source 2023.07.06

현재 컴파일러의 표준을 찾는 방법(예: C90 등)

현재 컴파일러의 표준을 찾는 방법(예: C90 등) 저는 리눅스 기계에서 일하고 있습니다.제가 사용하고 있는 C 컴파일러에 이어 표준을 찾는 시스템 명령어가 있습니까?이것은 컴파일러에 따라 다릅니다. GCC를 사용하는 것 같습니다.컴파일러 정의 매크로는 다음을 사용하여 확인할 수 있습니다. gcc -dM -E - < /dev/null 특히 플래그에 대한 설명서를 확인합니다. ###_STDC_VERSION__### 이 매크로는 C Standard 버전 번호로 확장되며, 이는 yyymmL 형식의 긴 정수 상수입니다. 여기서 yyyy와 mm는 Standard 버전의 연도와 월입니다.이것은 컴파일러가 C 표준의 어떤 버전을 준수하는지 나타냅니다.__STDC__와 마찬가지로 GNU CPP가 GCC와 함께 사용되지..

source 2023.07.06

소켓 프로그래밍 - listen()과 accept()의 차이점은 무엇입니까?

소켓 프로그래밍 - listen()과 accept()의 차이점은 무엇입니까? 소켓 프로그래밍에 대해 배우기 위해 이 튜토리얼을 읽고 있습니다.보아하니..listen()그리고.accept()은 둘 다합니다. 즉, 으로 될 때까지 것입니다. 차단하고 클라이언트가 소켓에 연결될 때까지 기다립니다.socket()을 위해두 한 이유는 무엇입니까?이를 위해 두 단계가 필요한 이유는 무엇입니까?시스템 호출을 한 번만 사용하는 것이 어떻습니까? 그런데, 저는 이 질문에 대해 구글 검색을 해보고 비슷한 질문을 찾았지만, 만족스러운 답은 하나도 없었습니다.예를 들어, 그들 중 한 명이 말했습니다.accept()소켓이 생성된다는 것을 알고 있기 때문에, 말도 안 되는 것은 소켓이 생성된다는 것을 알고 있기 때문입니다.soc..

source 2023.07.01

waitpid, wnohang, 추적되지 않은.사용 방법

waitpid, wnohang, 추적되지 않은.사용 방법 저는 조금 혼란스럽습니다.제가 이해한 바로는, pid가 -1인 waitpid는 제가 모든 아이들이 끝날 때까지 기다린다는 뜻이지만, WNOHANG의 waitpid에 옵션을 추가하면, 그 옵션은 완료된 아이가 없으면 즉시 종료하라는 것입니다.이것들은 극도로 혼란스러워 보입니다. 하위 프로세스가 완료될 때까지 기다렸다가 완료된 하위 프로세스가 없으면 즉시 종료하도록 컴퓨터에 지시하는 이유는 무엇입니까? 누가 이 옵션과 UNTRACE 옵션에 대해 설명해 줄 수 있습니까?추적한다는 게 무슨 뜻인지 모르겠어요당신은 보통 WNOHANG과 WUNTRACED를 다른 경우에 사용합니다. 사례 1: 한 무리의 아이들을 낳아 아이들이 달리는 동안 다른 일을 해야 하는..

source 2023.06.26

c/c++에서 포인터의 주소를 얻는 방법은 무엇입니까?

c/c++에서 포인터의 주소를 얻는 방법은 무엇입니까? c/c++에서 포인터의 주소를 얻는 방법은 무엇입니까? 예: 아래 코드가 있습니다. int a =10; int *p = &a; 포인터의 주소를 가져오려면 어떻게 해야 합니까?p이제 p의 주소를 출력하고 싶은데 어떻게 해야 하나요? print("%s", ??) 나는 무엇을 건네주나요?pdo의 주소를 가져오는 방법: int **pp = &p; 계속할 수 있습니다. int ***ppp = &pp; int ****pppp = &ppp; ... 또는 C++11에서만 다음을 수행할 수 있습니다. auto pp = std::addressof(p); 주소를 C로 인쇄하려면 대부분의 컴파일러가 지원합니다.%p따라서 다음과 같은 작업을 수행할 수 있습니다. print..

source 2023.06.26
반응형