반응형

C 31

c.의 EOF의 아스키 값은 얼마입니까?

c.의 EOF의 아스키 값은 얼마입니까? i의 ASCII 값은 누구나 알고 있습니다. 나는 노력한다printf("%d",EOF); 그러나 그것의 인쇄물.-1 그리고 또한 시도합니다.printf("%c",EOF); 하지만 인쇄된 빈 화면입니다. 그래서 누구나 어떤 열쇠에 대한 것인지 알 수 있습니다.EOF.EOF(C 언어에서 정의된 대로)는 문자가 아닙니다/ASCII 값이 아닙니다.그렇기 때문에getc반환합니다.int전혀unsigned char읽기 문자가 다음 범위의 값을 가질 수 있기 때문입니다.unsigned char의 반환 가치.getc또한 문자가 아닌 값을 나타낼 수 있어야 합니다. EOF(반드시 부정적이어야 함).EOF의 실제 값은 시스템 정의이며 표준의 일부가 아닙니다. EOF이다.int음의 값..

programing 2023.08.19

char가 서명된 경우 "char foo = 255"가 정의되지 않은 동작입니까?

char가 서명된 경우 "char foo = 255"가 정의되지 않은 동작입니까? Linux가 설치된 x86 시스템에서 gcc 4.5.2로 컴파일할 때 다음과 같은 경고가 표시되지 않습니다. char foo = 255; 하지만 사용할 때-pedanticgcc는 다음을 말합니다. 경고: 암시적 상수 변환의 오버플로 gcc가 하는 행동이 좀 이상하고 이 과제에서 무슨 일이 일어나고 있는지 정말 이해하는지 의심스럽습니다.내 생각에 만약에charPOSIX의 길이는 8비트이며 기본적으로 서명되어 있으므로 유지할 수 없습니다.255. C 표준에서는 부호 없는 정수 오버플로로 인해 오버플로가 발생한다고 하지만 부호 있는 정수 오버플로는 정의되어 있지 않습니다.그럼 이 과제는 정의되지 않은 행동인가요?그리고 gcc는 ..

programing 2023.08.09

재할당 후 버퍼의 데이터가 손실됩니까?

재할당 후 버퍼의 데이터가 손실됩니까? 재할당이 어떻게 작동하는지 이해하는 데 어려움을 겪고 있습니다.만약 내가 버퍼를 malloc하고 그 버퍼에 데이터를 복사했다면, "AB"라고 치자. +------------+ | A | B | \0 | +------------+ 그런 다음 버퍼를 다시 할당했는데 데이터 손실이 발생합니까(단 한 바이트라도)?아니면 버퍼를 확장하는 것뿐인가요?: +------------------------+ | A | B | \0 | ? | ? | ? | +------------------------+ 코드: #include #include #include int main(void){ char* buffer = (char*) malloc( sizeof(char) * 3 ); strn..

programing 2023.07.25

C에서 *와 &의 차이점은 무엇입니까?

C에서 *와 &의 차이점은 무엇입니까? 저는 C를 배우고 있는데 아직도 제가 C 사이의 차이점을 이해했는지 잘 모르겠습니다.&그리고.* 아직은. 설명해 보겠습니다. int a; // Declares a variable int *b; // Declares a pointer int &c; // Not possible a = 10; b = &a; // b gets the address of a *b = 20; // a now has the value 20 저는 이것들을 얻었지만, 그러면 혼란스러워집니다. void funct(int a) // A declaration of a function, a is declared void funct(int *a) // a is declared as a pointer voi..

programing 2023.07.25

glib를 위한 "헬로 월드"를 구축할 수 없는 이유는 무엇입니까?

glib를 위한 "헬로 월드"를 구축할 수 없는 이유는 무엇입니까? 세계에서 가장 간단한 glib 프로그램은 다음과 같습니다. #include 로 컴파일하려고 합니다.gcc test.c그리고 나는 다음을 얻습니다. test.c:1:18: error: glib.h: No such file or directory 따라서 올바른 패키지가 있는지 확인합니다. # dpkg -l | grep libglib ii libglib-perl 1:1.183-1 Perl interface to the GLib and GObject libra ii libglib1.2-dev 1.2.10-19build1 The GLib library of C routines (development) ii libglib1.2ldbl 1.2.10-..

programing 2023.07.20

함수의 암시적 선언 '닫힘'

함수의 암시적 선언 '닫힘' 핸들과 연결된 파일을 닫고 싶은데 컴파일러에서 경고가 표시됩니다. main.c:96:2: 경고: 함수 '닫힘'의 암시적 선언 [-Wimplicit-function-declaration] 그리고 이건 제 소스 코드입니다. #include #include #include #include #include #include ... int handle; ... handle = open(path, flags, mode); ... close(handle); 이 경고가 표시되는 이유와 해결 방법은 무엇입니까? 다음은 완전한 소스 코드입니다. 주.c. #include "header.h" // Prototypes void menu(char choix); void creer(); void lire..

programing 2023.06.25

C 연결 오류: 'main'에 대한 정의되지 않은 참조

C 연결 오류: 'main'에 대한 정의되지 않은 참조 저는 이 주제에 대한 다른 답변들을 읽었지만, 안타깝게도 그들은 저를 도와주지 않았습니다.여러 c 프로그램을 함께 연결하려고 하는데 다음과 같은 오류가 발생합니다. $ gcc -o runexp.o scd.o data_proc.o -lm -fopenmp /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: ld returned 1 exit status make: * [runexp] Error 1 저는 정확히 하나의 주요 기능을 가지고 있고 그것은 ru..

programing 2023.06.15

C 프로그램에는 main()이 필요합니까?

C 프로그램에는 main()이 필요합니까? 제목이 모든 것을 말해줍니다.는 사입니다.main()C 프로그램에 절대적으로 필수적인 기능? 리눅스 커널 코드를 보고 있는데 메인() 기능이 보이지 않아서 문의드립니다. C에는 ISO C 표준이라고 있습니다.main기능은 기본 OS가 있는 호스트 환경에만 필요합니다. 임베디드 시스템(또는 운영 체제 자체)과 같은 독립형 환경의 경우 구현이 정의됩니다. C99에서 합니다.5.1.2: 두 가지 실행 환경, 즉 독립형 및 호스트형이 정의됩니다.두 경우 모두 실행 환경에서 지정된 C 함수를 호출할 때 프로그램 시작이 발생합니다. 독립적인 환경(운영 체제의 이점 없이 C 프로그램을 실행할 수 있는 환경)에서 프로그램 시작 시 호출되는 함수의 이름과 유형은 구현 정의됩니다..

programing 2023.06.15

리눅스에서 프로그램 성능을 측정하는 고해상도 타이머를 만드는 방법은 무엇입니까?

리눅스에서 프로그램 성능을 측정하는 고해상도 타이머를 만드는 방법은 무엇입니까? GPU와 CPU 성능을 비교하려고 합니다.NVIDIA GPU를 위해 사용해 왔습니다.cudaEvent_t매우 정확한 타이밍을 얻기 위해 입력합니다. CPU에 대해 다음 코드를 사용했습니다. // Timers clock_t start, stop; float elapsedTime = 0; // Capture the start time start = clock(); // Do something here ....... // Capture the stop time stop = clock(); // Retrieve time elapsed in milliseconds elapsedTime = (float)(stop - start) / (..

programing 2023.06.15

재할당이 이전 내용을 덮어쓰나요?

재할당이 이전 내용을 덮어쓰나요? 메모리를 재할당할 때realloc()이전 내용을 덮어쓰셨습니까?데이터를 입력할 때마다 메모리를 재할당하는 프로그램을 만들려고 합니다. 재할당을 통한 메모리 할당에 대해 알려주세요, 예를 들어 컴파일러에 종속되어 있습니까?오래된 내용에 대해서는 걱정하지 마세요. 올바른 사용 방법realloc재할당을 위해 특정 포인터를 사용하고, 해당 포인터를 테스트한 다음, 모든 것이 정상이면 이전 포인터를 변경합니다. int *oldpointer = malloc(100); /* ... */ int *newpointer = realloc(oldpointer, 1000); if (newpointer == NULL) { /* problems!!!! */ /* tell the user to s..

programing 2023.06.15
반응형