반응형

C 37

유형 안전이란 무엇이며 "유형 안전" 대안은 무엇입니까?

유형 안전이란 무엇이며 "유형 안전" 대안은 무엇입니까? 이 질문에는 이미 다음과 같은 답변이 있습니다. 닫힘13년 전에. 가능한 중복: 안전한 타입이란? 유형 안전이란 무엇입니까? c++ 벡터에 대해 읽다가 다음과 같이 언급이 되었습니다.memcpy그리고.printfC의 함수는 안전한 타입이 아닙니다.기사내용: http://en.wikipedia.org/wiki/Vector_(C%2B%2B) . 질문:.간단한 영어로, 유형 안전이란 무엇이며 "유형 안전" 대안은 무엇입니까?유형 안전성은 컴파일러가 올바른 유형을 사용하고 있는지 확인할 수 있음을 의미합니다.예를 들어, 만약 당신이printf, 실수로 프로그램이 다운될 수 있습니다. printf("The meaning of life is %s", 42);..

codememo 2023.11.04

공식 파라미터란 무엇입니까?

공식 파라미터란 무엇입니까? C++로 컴파일할 때 "공식 매개변수"를 다루는 오류 메시지가 자주 나타납니다. error C2719: 'b': formal parameter with __declspec(align('16')) won't be aligned 저는 그 오류를 이해합니다. 그리고 그 사실은b는 제가 정의하고 있는 함수의 파라미터입니다. 그러나 매개 변수가 형식적이라는 것은 무엇을 의미합니까?비공식적인 매개변수도 있을 수 있습니까? 다른 언어에서도 "공식 매개변수"라는 용어가 등장한다는 것을 알고 있기 때문에, 반드시 C어족에 한정되지는 않는 보다 일반적인 용어라고 추측합니다.비공식 매개 변수는 일부 언어 하위 집합에서 지원됩니까? 답을 보고 난 후 마지막 질문이 하나 있습니다.공식 매개변수와 실..

codememo 2023.10.20

execvp에 대한 argv 매개 변수가 일정하지 않은 이유는 무엇입니까?

execvp에 대한 argv 매개 변수가 일정하지 않은 이유는 무엇입니까? execvp는 다음과 같이 정의됩니다. int execvp(const char *file, char *const argv[]); 이것은 이와 같은 코드가 사용되는 것을 막습니다. const char* argv[] = {"/bin/my", "command", "here", NULL}; execvp(argv[0], argv); 실수로 누락된 건가요?이 주위에 cont_cast를 해도 안전합니까?아니면 일부 execvp 구현이 실제로 그 메모리에 낙서를 하나요?POSIX 사양에는 다음과 같이 나와 있습니다(http://pubs.opengroup.org/onlinepubs/009604499/functions/exec.html) : 그ar..

codememo 2023.10.15

WSAGetLastError()에서 오류 문자열을 검색하려면 어떻게 합니까?

WSAGetLastError()에서 오류 문자열을 검색하려면 어떻게 합니까? 리눅스에서 윈도우로 소켓 코드를 이식하고 있습니다. 리눅스에서 나는 사용할 수 있었습니다.strerror()오류 코드를 인간 readable 문자열로 변환합니다. MSDN 문서에는 반환되는 각 오류 코드에 대해 동일한 문자열이 표시됩니다.WSAGetLastError(), 하지만 그 끈을 어떻게 회수할 수 있는지에 대해서는 아무것도 보이지 않습니다.할 것이다strerror()여기서도 일해요? Winsock에서 사람이 읽을 수 있는 오류 문자열을 검색하려면 어떻게 해야 합니까?wchar_t *s = NULL; FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_S..

codememo 2023.10.15

32비트 정수 두 개를 64비트 정수 한 개로 합치는 방법은?

32비트 정수 두 개를 64비트 정수 한 개로 합치는 방법은? 카운트 레지스터가 있습니다. 카운트 레지스터는 두 개의 32비트 부호 없는 정수로 구성되어 있습니다. 하나는 값의 상위 32비트(가장 중요한 단어), 다른 하나는 값의 하위 32비트(가장 중요한 단어)로 구성되어 있습니다. C에서 이 두 개의 32비트 부호 없는 정수를 결합한 후 큰 숫자로 표시하는 가장 좋은 방법은 무엇입니까? 구체적으로: leastSignificantWord = 4294967295; //2^32-1 printf("Counter: %u%u", mostSignificantWord,leastSignificantWord); 이것은 인쇄가 잘 될 것입니다. 숫자가 4294967296으로 늘어나면 가장 의미 없는 단어가 0으로 지워지..

codememo 2023.10.10

스택 크기 추정

스택 크기 추정 다중 스레드 내장 소프트웨어(C 또는 C++로 작성됨)에서 스레드는 오버플로 없이 작업을 완료할 수 있도록 충분한 스택 공간을 제공해야 합니다.일부 실시간 임베디드 환경에서는 스택의 정확한 사이징이 매우 중요한데, 이는 (적어도 제가 작업한 일부 시스템에서는) 운영 체제가 이를 감지하지 못하기 때문입니다. 일반적으로 (주 스레드 이외의) 새 스레드에 대한 스택 크기는 스레드가 생성될 때(즉, pthread_create() 등의 인수에서) 지정됩니다.이러한 스택 크기는 코드가 처음 작성되거나 테스트될 때 양호한 것으로 알려진 값으로 하드 코딩되는 경우가 많습니다. 그러나 향후 코드 변경으로 인해 하드 코딩된 스택 크기의 기반이 되는 가정이 깨지는 경우가 많으며, 운명적인 어느 날 스레드가 ..

codememo 2023.10.10

Long int 값을 C 단위로 인쇄

Long int 값을 C 단위로 인쇄 나는 두 가지 변수가 있습니다.long int다음과 같이 입력합니다. long int a=-2147483648, b=-2147483648; a=a+b; printf("%d",a); 나는 0점을 얻고 있습니다.유형을 다음으로 변경하려고 했습니다.long long int, 아직도 정답이 안 나와요.사용해야 합니다.%ld인쇄하다, 인쇄하다long int,그리고.%lld인쇄하다, 인쇄하다long long int. 참고 사항:long long int계산 결과(또는 사용 중인 입력 값)를 저장할 수 있을 만큼 충분히 크다는 것을 보장합니다. 또한 컴파일러를 C99 호환 모드로 사용하는지 확인해야 합니다(예:-std=gnu99gcc)에 옵션을 지정합니다.왜냐하면.long long..

codememo 2023.10.05

strtm(UTC로 표현)을 time_t 타입으로 변환하는 쉬운 방법

strtm(UTC로 표현)을 time_t 타입으로 변환하는 쉬운 방법 위의 작업은 어떻게 합니까?mktime 함수가 있지만 그것은 입력을 현지 시간으로 표현한 것으로 처리하지만 만약 내 입력 tm 변수가 UTC에 있을 경우 변환을 어떻게 수행해야 합니까?사용하다timegm()mktime() - 와 같이 것은 @chux - Reinstate Monica 입니다.time_t timegm(struct tm *timeptr)는 C23 표준에 추가되는 것으로 간주됩니다(따라서 C++ 표준에 포함됨).윈도우에 있는 경우 다음 기능을 사용할 수 있습니다. _mkgmtime 자세한 정보를 보려면 링크: https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference..

codememo 2023.10.05

구조물에서 작은 값을 표현하는 가장 효율적인 방법은 무엇입니까?

구조물에서 작은 값을 표현하는 가장 효율적인 방법은 무엇입니까? 종종 저는 아주 작은 가치들로 구성된 구조를 표현해야 한다는 것을 발견합니다.를 들면,면,Foo4개의 값을 갖습니다.a, b, c, d그것, 범위가 다양합니다.0 to 3 타이트 루프에 사용됨; 그들의 값은 초당 10억 번 읽히며, 그것이 프로그램의 병목 현상입니다. 의 되어 있습니다.Foos;s; 그 는 , 를 하는 데 을 겪고 있습니다.Foo능률적으로 기본적으로 기본적으로 4가지 옵션이 있습니다. struct Foo { int a; int b; int c; int d; }; struct Foo { char a; char b; char c; char d; }; struct Foo { char abcd; }; struct FourFoos {..

codememo 2023.09.25
반응형