반응형

C 251

파일 설명자와 파일 포인터의 차이점은?

파일 설명자와 파일 포인터의 차이점은? 나는 파일 설명자와 파일 포인터의 차이점을 알고 싶다. 또한 어떤 시나리오에서 다른 시나리오 대신 하나를 사용하시겠습니까?파일 설명자는 리눅스 및 기타 유닉스 유사 시스템에서 커널 수준에서 열린 파일(또는 소켓 등)을 식별하는 데 사용되는 낮은 수준의 정수 "핸들"이다. 다음과 같은 실제 Unix 호출에 "naked" 파일 설명자를 전달하는 경우read()write()등등. A FILE포인터(pointer)는 파일을 나타내는 데 사용되는 C 표준 라이브러리 수준 구성물이다.그FILE파일 설명자를 랩으로 감싸고 버퍼링 및 기타 기능을 추가하여 I/O를 쉽게 한다. 너는 합격했다.FILE다음과 같은 표준 C 함수에 대한 포인터fread()그리고fwrite().하나는 완..

programing 2022.05.16

C와 C++에서 'constant static'은 무엇을 의미하는가?

C와 C++에서 'constant static'은 무엇을 의미하는가? const static int foo = 42; StackOverflow의 코드에서 이걸 봤는데 그게 뭘 하는지 알 수가 없었어.그때 나는 다른 포럼에서 혼란스러운 대답을 보았다.내 추측으로는 C에서 상수를 숨기기 위해 사용하는 것 같아.foo다른 모듈에서.이거 맞는건가요?만약 그렇다면, 왜 C++ 컨텍스트에서 당신이 그냥 만들 수 있는 곳에서 그것을 사용하겠는가?private?많은 사람들이 기본적인 답을 주었지만 C++에서는 아무도 그것을 지적하지 않았다.const로 기본 설정하다.static에서namespace(그리고 일부는 잘못된 정보를 주었다.)C++98 표준 섹션 3.5.3을 참조하십시오. 첫 번째 배경: 번역 단위:사전 프로..

programing 2022.05.16

C/C++ 프로그램과 그 플러그 인 DLL을 위한 최고의 무료 메모리 누수 검출기는 무엇인가?

C/C++ 프로그램과 그 플러그 인 DLL을 위한 최고의 무료 메모리 누수 검출기는 무엇인가? 닫힘. 이 질문은 충족되지 않음스택 오버플로 지침.그것은 현재 답을 받아들이고 있지 않다. 이 문제를 개선하고 싶으십니까?스택 오버플로에 대한 토픽이 되도록 질문을 업데이트하십시오. 8년 전에 문을 닫았다. 이 질문 개선 나는 .exe와 .exe가 로드하는 많은 플러그인 .dll 모듈을 가지고 있다.(두 가지 모두에 대한 출처가 있다.)크로스 플랫폼(소스 포함) 솔루션이 이상적이지만, 플랫폼은 WinXP와 Visual Studio(나의 경우 7.1/2003)로 좁혀질 수 있다. 내장된 VS 누출 감지기는 new/malloc가 호출된 라인만 제공하지만 나는 할당을 위한 래퍼를 가지고 있기 때문에 완전한 심볼 스택..

programing 2022.05.15

16진수 문자열(char [])을 int로 변환하시겠습니까?

16진수 문자열(char [])을 int로 변환하시겠습니까? "0x1800785"와 같은 값을 포함하는 char[]가 있지만 값을 부여하고자 하는 함수는 int가 필요한데, 어떻게 이것을 int로 변환할 수 있을까?여기저기 찾아봤지만 답을 찾을 수가 없다.고마워요.해봤어?strtol()? strtol - 문자열을 긴 정수로 변환 예: const char *hexstring = "abcdef0"; int number = (int)strtol(hexstring, NULL, 16); 숫자의 문자열 표현이 다음 항목으로 시작하는 경우0x접두사, 0을 기준으로 사용해야 함: const char *hexstring = "0xabcdef0"; int number = (int)strtol(hexstring, NULL,..

programing 2022.05.15

64비트 Windows에서 긴 비트 크기

64비트 Windows에서 긴 비트 크기 얼마 전, 누군가 내게 그런 말을 했다.long64비트 기계에 64비트가 없고 항상 사용해야 한다.int이것은 나에게 말이 되지 않았다.나는 (애플의 공식 사이트에 있는 것과 같은) 문서들이 이렇게 말하는 것을 본 적이 있다.long때 CPU가 64비트인 것으로 나타났다. 64비트 CPU는 64비트인 것으로 나타났다. 64비트 CPU는 64비트인 것으로 나타났다. 64비트 CPU는 64센트인 것으로 나타났다. 64비트 CPU는 64센트였다. Windows:long그리고int32비트를 유지하며, 64비트 정수에 대해 특별한 새로운 데이터 유형이 정의된다. (http://www.intel.com/cd/ids/developer/asmo-na/eng/197664.htm?..

programing 2022.05.15

c_str 함수의 용도는 무엇인가?

c_str 함수의 용도는 무엇인가? 나는 이해한다c_strnull이 될 수도 있고 아닐 수도 있는 문자열을 null이 아닌 문자열로 변환한다. 이게 사실이야?몇 가지 예를 들어 주시겠습니까?c_stra를 반환하다const char*이는 null-terminated 문자열(즉, C-style 문자열)을 가리킨다.a의 「내용」을 통과시키고 싶을 때 유용하다.std::stringC 스타일 스트링으로 작업할 수 있을 것으로 예상하는 기능. 예를 들어 다음 코드를 고려하십시오. std::string string("Hello world!"); std::size_t pos1 = string.find_first_of('w'); std::size_t pos2 = static_cast(std::strchr(string.c..

programing 2022.05.15

Linux/unix에 WinAPI의 MAX_PATH와 동등한 것이 있는가?

Linux/unix에 WinAPI의 MAX_PATH와 동등한 것이 있는가? 유효한 절대 경로+파일 이름을 저장할 수 있을 정도로 크기가 보장되는 Char 어레이(C)를 할당하려면 얼마나 커야 하는가? Win32에는 MAX_PATH 정의가 있다.유닉스/리눅스에 해당하는 것은?라는 것이 있다.PATH_MAX그러나 그것은 약간 문제가 있다.Realpath(3) man 페이지의 버그 섹션에서: 이 기능의 POSIX.1-2001 표준 버전은 출력 버퍼 resolided_path에 적합한 크기를 결정할 수 없기 때문에 설계에 의해 깨진다.POSIX.1-2001에 따르면 PATH_MAX 질량의 버퍼는 정의된 상수일 필요는 없으며, PATH_MAX는 경로conf(3)를 사용하여 얻어야 할 수도 있다.그리고 POSIX는..

programing 2022.05.14

C와 C++에서 사용되는 다른 버전의 Exec은 무엇인가?

C와 C++에서 사용되는 다른 버전의 Exec은 무엇인가? C(및 C++)에서 사용할 수 있는 모든 실행 버전 execl execle execlp execv execve execvp 두 사람의 차이점이 뭐야?어떤 것을 사용해야 하는지 어떻게 아십니까?차이점은 다음과 같은 조합: L vs V: 다음과 같이 매개 변수를 Exec의 프로그램에 전달할지 여부 L: 호출의 개별 매개 변수(변수 인수 목록): execl(),execle(),execlp()그리고execlpe() V: 문자의 배열로*execv(),execve(),execvp()그리고execvpe() 배열 형식은 미리 알 수 없는 것처럼, 실행된 프로세스에 보낼 매개변수 수가 가변적이어서 함수 호출에 고정된 수의 매개변수를 넣을 수 없을 때 유용하다. ..

programing 2022.05.14

값이 0 크기 어레이를 생성하는지 테스트할 수 있는 C 전처리기 #이(가)의 방법이 필요함

값이 0 크기 어레이를 생성하는지 테스트할 수 있는 C 전처리기 #이(가)의 방법이 필요함 나는 임베디드 프로젝트에 완벽하게 맞도록 64K까지 패딩해서 플래시 블록을 채워야 하는 구조를 가지고 있다.그래서 다음과 같은 것이 있다.#define다음을 사용하여 구조물의 요소를 더하는sizeof()그리고 얼마나 큰지 결정한다.pad[]마지막에는 전체 크기가 64K가 되도록 해야 한다. 예: #define SIZE_OF_MY_PAD (0x10000 - (sizeof(uint16_t) + sizeof(uint8_t)*32 + ... )) typedef struct { uint16_t firstElement; uint8_t secondElementArray[32]; ... uint8_t pad[SIZE_OF_MY_..

programing 2022.05.14

무엇이 더 효율적인가?가루를 이용해 네모나게 만들거나, 아니면 그냥 곱해서 만들거나?

무엇이 더 효율적인가?가루를 이용해 네모나게 만들거나, 아니면 그냥 곱해서 만들거나? C에서 이 두 가지 방법 중 어떤 것이 더 효율적인가?다음에 대해 알아보십시오. pow(x,3) 대 x*x*x // etc? UPDATE 2021 벤치마크 코드를 다음과 같이 수정했다. std:부스트 대신 타이밍 측정에 사용되는 동기 C++11대신에 사용하다rand() 호스트 아웃될 수 있는 작업을 반복하지 마십시오.기본 파라미터는 끊임없이 변화한다. GCC 10 -O2로 다음 결과를 얻는다(초). exp c++ pow c pow x*x*x... 2 0.204243 1.39962 0.0902527 3 1.36162 1.38291 0.107679 4 1.37717 1.38197 0.106103 5 1.3815 1.3913..

programing 2022.05.14
반응형