반응형

C 135

## 및 __LINE__를 사용하여 C 매크로 생성(위치 지정 매크로와의 토큰 연결)

## 및 __LINE__를 사용하여 C 매크로 생성(위치 지정 매크로와의 토큰 연결) 회선번호에 따라 이름을 붙여 함수를 만드는 C 매크로를 만들고 싶습니다.다음과 같은 작업을 할 수 있을 것 같았습니다(실제 함수는 괄호 안에 문장이 있습니다). #define UNIQUE static void Unique_##__LINE__(void) {} 내가 바라던 건 다음과 같은 것들이었어 static void Unique_23(void) {} 안 되네.토큰 연결에서는 포지셔닝 매크로가 문자 그대로 처리되어 다음과 같이 확장됩니다. static void Unique___LINE__(void) {} 이게 가능한가요?문제는 매크로 치환이 있는 경우 스트링라이징 연산자 중 하나가 아닌 경우 프리프로세서는 매크로를 재귀적..

programing 2022.07.10

uint32_t 및 uint16_t 변수' 값을 인쇄하려면 어떻게 해야 합니까?

uint32_t 및 uint16_t 변수' 값을 인쇄하려면 어떻게 해야 합니까? uint16_t 및 uint32_t 값을 인쇄하려고 하는데 원하는 출력이 나오지 않습니다. #include #include int main() { uint32_t a = 12, a1; uint16_t b = 1, b1; a1 = htonl(a); printf("%d---------%d", a1); b1 = htons(b); printf("\n%d-----%d", b, b1); return 0; } 나도 사용했어 printf("%"PRIu32, a); 에러를 나타내고 있습니다. 이러한 값을 인쇄하려면 어떻게 해야 하며 원하는 출력은 무엇입니까?다음을 포함해야 합니다.inttypes.h이 모든 새로운 포맷 지정자를 원하는 경우i..

programing 2022.07.10

printf()는 "%f"만 사용해도 되는데, 왜 스캔f()는 두 배로 "%lf"가 필요합니까?

printf()는 "%f"만 사용해도 되는데, 왜 스캔f()는 두 배로 "%lf"가 필요합니까? 왜?scanf()필요한 것은l「 。%lf"를 읽을 때double,언제printf()" 를 사용할 수 있습니다.%f그 논거가 의론인지 아닌지에 관계없이double또는float? 코드 예: double d; scanf("%lf", &d); printf("%f", d); C는 변수 인수를 사용하는 함수에 대해 플로트를 더블로 승격하기 때문입니다.포인터는 어떤 것으로도 승격되지 않기 때문에 사용하셔야 합니다.%lf,%lg또는%le(또는%laC99)를 더블로 읽습니다.с99 since 、 C の format specificator floating floating point types in타입의 매칭은 다음과 같이 일치..

programing 2022.07.10

C의 바이트 배열에 대한 16진수 문자열

C의 바이트 배열에 대한 16진수 문자열 16진수 문자열에서 바이트 배열로 변환하는 표준 C 함수가 있습니까? 나는 나만의 함수를 쓰고 싶지 않다.표준 기능은 없는 것으로 알고 있습니다만, 다음과 같이 간단하게 실현할 수 있습니다. #include int main(int argc, char **argv) { const char hexstring[] = "DEadbeef10203040b00b1e50", *pos = hexstring; unsigned char val[12]; /* WARNING: no sanitization or error-checking whatsoever */ for (size_t count = 0; count < sizeof val/sizeof *val; count++) { sscan..

programing 2022.07.10

C++ 코드에서 C 함수를 호출합니다.

C++ 코드에서 C 함수를 호출합니다. C++에서 호출하고 싶은 C 기능이 있습니다."를 사용할 수 없었습니다.extern "C" void foo()" G++를 사용하여 C 함수를 컴파일하지 못했기 때문에 일종의 접근법입니다.하지만 gcc를 사용하여 컴파일 할 수 있습니다.C++에서 함수를 호출하는 방법을 알고 계십니까?C 코드를 다음과 같이 컴파일합니다. gcc -c -o somecode.o somecode.c 다음으로 C++ 코드는 다음과 같습니다. g++ -c -o othercode.o othercode.cpp 다음으로 C++ 링커를 사용하여 링크합니다. g++ -o yourprogram somecode.o othercode.o 또, C++ 컴파일러에 C 헤더를 통지할 필요가 있습니다.C 헤더는 C..

programing 2022.07.10
반응형