반응형

c 29

C++ 전처리기가 C 전처리기와 동일합니까?

C++ 전처리기가 C 전처리기와 동일합니까? C++와 C의 전처리기가 얼마나 다른지 궁금합니다. 질문의 이유는 질문을 다루는 표준의 단락이 다른 문구(그리고 다른 단락 번호)를 가지고 있고 또한 질문과 관련하여 다른 경우에 전처리기 고유의 질문에 대한 이 질문 때문입니다.true그리고.falseC++의 키워드입니다. 그렇다면 더 많은 차이가 있는 것일까요, 아니면 이것만 다른 것일까요? 질문의 확장은 소스 파일이 C++ 전처리기와 C 전처리기에 의해 다르게 방출되는 경우입니다.C++03 전처리기는 C99 이전의 C 전처리기와 유사합니다.문구와 문단 번호는 조금씩 다르지만, C++ 전처리기가 C에 없는 디그래프(두 글자 대체 토큰)와 보편적인 문자 이름을 처리한다는 기술적 차이만 알고 있습니다. C99부터..

programing 2023.10.08

쉼표 연산자에서 왼쪽 피연산자는 부작용이 없으면 실제로 실행되지 않는 것이 보장됩니까?

쉼표 연산자에서 왼쪽 피연산자는 부작용이 없으면 실제로 실행되지 않는 것이 보장됩니까? 할 수 하려면 C 를 하지만 C++ 에서도()).struct합니다.), 합니다. 저는 이 매크로를 생각해 냈습니다. #define STR_MEMBER(S,X) (((struct S*)NULL)->X, #X) 입니다)을 입니다.const char*의 struct합니다.최소한의 사용 예: #include struct a { int value; }; int main(void) { printf("a.%s member really exists\n", STR_MEMBER(a, value)); return 0; } 한다면value다의 struct a안 되고 쉼표 연산자는 왼쪽 피연산자를 평가한 다음 식의 결과(있는 경우)를 폐기해..

programing 2023.10.03

컴파일러 C가 브레인퍽에게 (교수를 괴롭힌다는 이유로)

컴파일러 C가 브레인퍽에게 (교수를 괴롭힌다는 이유로) 현재 상태로는 이 질문은 우리의 Q&A 형식에 맞지 않습니다.사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침되기를 기대하지만, 이 질문은 토론, 주장, 여론 조사 또는 토론을 요청할 가능성이 높습니다.만약 이 질문이 개선되고 다시 열릴 수 있다고 생각한다면,안내를 받기 위해 헬프 센터를 방문합니다. 닫힘10년 전에. 제 교수님은 우리가 사용하고 싶은 어떤 언어로도 숙제를 받아들이겠다고 말씀하셨습니다.저는 그와 사이가 좋아서 그와 좀 상종해서 두뇌싸움이나 여백, 또는 그와 동등하게 "유용한" 언어를 사용하는 유효한 숙제를 제출하고 싶어요. 저는 몇 가지 간단한 수치 분석 루틴과 컴파일된 출력 및 생성된 어셈블리 파일에 대한 C-소스를 가지고 있..

programing 2023.10.03

비트 와이즈 연산자를 사용하여 숫자가 양수인지 음수인지 확인

비트 와이즈 연산자를 사용하여 숫자가 양수인지 음수인지 확인 나는 비트 와이즈 연산자를 사용하여 숫자가 홀수/짝수인지 확인할 수 있습니다.if/ternary 등의 조건문/연산자를 사용하지 않고 숫자가 양수/0/음수인지 확인할 수 있습니까? 비트 와이즈 연산자와 C 또는 C++에서 어떤 트릭을 사용하여 같은 작업을 수행할 수 있습니까? if/ternary 등의 조건문/연산자를 사용하지 않고 숫자가 양수/0/음수인지 확인할 수 있습니까? 물론입니다. bool is_positive = number > 0; bool is_negative = number < 0; bool is_zero = number == 0; 부호가 있는 정수(바이트, 길이 등)에 높은 비트가 설정되어 있지만 부동 소수점 번호는 설정되어 있지..

programing 2023.09.28

매개 변수로 배열 포인터를 함수에 전달

매개 변수로 배열 포인터를 함수에 전달 Bint 배열 포인터를 func 기능으로 전달하고 거기서 변경해서 메인 기능의 변화를 보고 싶습니다. #include int func(int *B[10]){ } int main(void){ int *B[10]; func(&B); return 0; } 위 코드는 몇 가지 오류를 제공합니다. In function 'main':| warning: passing argument 1 of 'func' from incompatible pointer type [enabled by default]| note: expected 'int **' but argument is of type 'int * (*)[10]'| EDIT: 새 코드: #include int func(int *B)..

programing 2023.09.28

"inti = 1;왜 (i > = 60 * 60 * 1000 / 1 * 1000)"가 참입니까?

"inti = 1;왜 (i > = 60 * 60 * 1000 / 1 * 1000)"가 참입니까? 첫째, 괄호 없이 두 개의 상수 표현을 정의하는 것은 제 잘못입니다. #define BIG_INTERVAL 60 * 60 * 1000 #define SMALL_INTERVAL 1 * 1000 int i = 1; if (i >= BIG_INTERVAL / SMALL_INTERVAL - 1) { printf("Oops!\n"); } ifsif(i >= 60 * 60 * 1000 / 1 * 1000 - 1). 그것은 제 의도가 아닙니다.됩니다를 합니다.if (i >= 3600000000 - 1)은 거짓입니다 거짓입니다. 어떤 타입인가요?60 * 60 * 1000 / 1 * 1000 - 1?int? 연산자int in..

programing 2023.09.23

GDB로 주어진 함수 범위의 변수를 선언하는 방법은?

GDB로 주어진 함수 범위의 변수를 선언하는 방법은? 나는 gdb가 이미 선언된 변수를 사용하여 설정하는 것을 허용한다는 것을 알고 있습니다.set지휘. gdb가 주어진 함수의 범위 안에서 새로운 변수를 동적으로 선언하는 것이 가능합니까?일부 공간을 동적으로 할당하여 새 변수를 저장하는 데 사용할 수 있습니다."현재 기능의 범위"가 의미하는 바에 따라 원하는 기능이 아닐 수도 있습니다. 그러나 출력 파라미터에 포인터를 가져오는 함수 func()가 있을 때의 모습은 다음과 같습니다. set $foo = malloc(sizeof(struct funcOutStruct)) call func($foo) p *$foo call (void) free($foo) C (그리고 아마도 C++) 코드의 경우, 이것은 매우 ..

programing 2023.09.23

문자열을 포인터 또는 리터럴로 전달할 때 strcmp() 반환 값이 일치하지 않음

문자열을 포인터 또는 리터럴로 전달할 때 strcmp() 반환 값이 일치하지 않음 는 요를 놀고 있었습니다.strcmp이것을 알아차렸을 때 코드는 다음과 같습니다. #include #include int main(){ //passing strings directly printf("%d\n", strcmp("ahmad", "fatema")); //passing strings as pointers char *a= "ahmad"; char *b= "fatema"; printf("%d\n",strcmp(a,b)); return 0; } 출력은 다음과 같습니다. -1 -5 말아야 할strcmp똑같이 일합니까?까로 할 때 입니까?"ahmad"또는 로서char* a = "ahmad" 됩니다. TL :DR: 사용gcc..

programing 2023.09.23

libavcodec을 이용한 mPEGts 컨테이너의 원시 H264 프레임

libavcodec을 이용한 mPEGts 컨테이너의 원시 H264 프레임 다음 문제와 관련하여 도움을 주시면 정말 감사하겠습니다. 저는 H264 압축 비디오 프레임을 만드는 카메라가 있는 장치를 가지고 있는데, 이 프레임들은 제 어플리케이션으로 전송되고 있습니다.이 프레임들은 컨테이너에 있는 것이 아니라 원시 데이터일 뿐입니다. 나중에 사용할 수 있는 fmpeg와 libav 기능을 사용해서 동영상 파일을 만들고 싶습니다. 프레임을 해독한 다음 인코딩하면 모든 것이 정상적으로 작동하여 유효한 비디오 파일을 얻을 수 있습니다.(디코드/인코드 단계는 일반적인 libav 명령어이며, 여기서는 화려한 것이 아닙니다. 전능한 인터넷에서 가져온 것입니다. 그것들은 바위처럼 견고합니다.)...하지만 디코딩과 인코딩으로..

programing 2023.09.23

Python의 bz2 모듈은 기본적으로 컴파일되지 않습니다.

Python의 bz2 모듈은 기본적으로 컴파일되지 않습니다. 파이썬 2.6.1은 기본적으로 bz2 라이브러리를 소스에서 컴파일하지 않는 것 같습니다. lib-backload/bz2.so 이 없습니다. (처음부터 Python을 설치하지 않고) 추가하는 가장 빠른 방법은 무엇입니까? OS는 Linux 2.4.32-grsec+f6b+gr217+nfs+a32+fuse23+tg++opt+c8+gr2b-v6.194 #1 SMP 화 6 15:52:09 PDT 2006 i686 GNU/리눅스 IIRC는 --prefix flag만 사용했습니다.Python이 자체 인터페이스를 구축하려면 먼저 libbz2.so (범용 libbz2 라이브러리)을 제대로 설치해야 합니다.이는 일반적으로 Linux 디스트리뷰터에 있는 패키지 이..

programing 2023.09.18
반응형