반응형

C 31

끈이 미쳐가고 있어요 제가 좀 더 여유를 주지 않으면요여기서 무슨 일이 일어나고 있는지 설명해 줄 사람?

끈이 미쳐가고 있어요 제가 좀 더 여유를 주지 않으면요여기서 무슨 일이 일어나고 있는지 설명해 줄 사람? 먼저, 저는 C/C++에 처음입니다. 저는 원래 PHP 개발자이기 때문에 변수를 마음대로 남용하도록 길러집니다. C는 엄격한 나라이고, 컴파일러들은 나를 여기서 별로 좋아하지 않아요. 나는 일을 처리하기 위해 규칙을 어기는 것에 익숙합니다. 어쨌든, 이건 제 간단한 암호입니다. char IP[15] = "192.168.2.1"; char separator[2] = "||"; puts( separator ); 출력: ||192.168.2.1 하지만 만약 내가 정의를 바꾼다면,separator대상: char separator[3] = "||"; 원하는 출력을 얻을 수 있습니다. || 그럼 왜 제가 그 남..

programing 2023.11.07

OpenSSL API를 사용하여 인증서 체인을 프로그래밍 방식으로 확인

OpenSSL API를 사용하여 인증서 체인을 프로그래밍 방식으로 확인 이것은 다른 질문들과 매우 비슷하지만 제가 본 질문들은 답이 없거나 같은 질문을 하지 않습니다.자기 서명된 CA 인증서와 해당 CA 인증서로 서명된 다른 두 개의 인증서가 있습니다.opensl verify'가 작동하므로 인증서가 정확하다고 확신합니다. $ openssl verify -CAfile ca.pem server.pem server.pem: OK (위 내용은 기억에서 나온 것으로, 앞에 없는 것이라 살짝 꺼졌을 수 있습니다.) 이제 나는 프로그램적으로 자격증을 확인하고 싶습니다.아래 의사코드를 가진 유틸리티 기능이 있습니다. int verify_cert(X509 *cert, X509 *cacert) { int ret; X509..

programing 2023.10.28

C의 버퍼에 텍스트 파일을 읽는 올바른 방법은?

C의 버퍼에 텍스트 파일을 읽는 올바른 방법은? 이 질문에는 이미 다음과 같은 답변이 있습니다. C에서 문자열에 파일의 내용을 읽는 방법은? (13개 답변) 닫힘5년 전에. 처리하는 동안 버퍼에 읽고 싶은 작은 텍스트 파일을 다루고 있으므로 다음 코드를 생각해 냈습니다. ... char source[1000000]; FILE *fp = fopen("TheFile.txt", "r"); if(fp != NULL) { while((symbol = getc(fp)) != EOF) { strcat(source, &symbol); } fclose(fp); } ... 이것이 파일의 내용을 버퍼에 넣는 올바른 방법인가요 아니면 제가 남용하고 있는 것인가요?strcat()? 그런 다음 버퍼를 통해 반복합니다. for(i..

programing 2023.10.18

왜 음의 오류를 반환합니까?(예: 반환 -EIO)

왜 음의 오류를 반환합니까?(예: 반환 -EIO) 또 다른 간단한 예는 다음과 같습니다. if (wpa_s->mlme.ssid_len == 0) return -EINVAL; 왜 단 하나의 마이너스일까요?성공 시 >0을 반환하고 실패 시 을 반환하는 함수에 대해 수행하는 것이 보통입니까, 아니면 다른 이유가 있습니까?첫째, 이건 진짜 C가 아닙니다.당신은 어떤 목적으로 C로 작성된 함수를 보고 있습니다.모든 언어에서 동일한 규칙을 사용할 수 있습니다. 옛날 유닉스 시절에는 0은 성공, 양수는 사소한 문제, 음수는 일종의 실패를 의미한다는 통념이 있었습니다.따라서, 일종의 회의도 있었습니다.if (foo() >= 0) { /* success of a sort */ }. 이는 의심할 여지 없이 0이 성공한 유..

programing 2023.10.18

C/C++가 표준 ABI를 정의할 경우 "잃을" 수 있는 것은 무엇입니까?

C/C++가 표준 ABI를 정의할 경우 "잃을" 수 있는 것은 무엇입니까? 제목에 모든 것이 적혀 있습니다.저는 C/C++를 구체적으로 말하는 것인데, 둘 다 이것을 "구현 문제"라고 생각하기 때문입니다.표준 인터페이스를 정의하는 것은 그 위에 모듈 시스템을 구축하는 것과 다른 많은 좋은 점들을 쉽게 만들 수 있다고 생각합니다. C/C++가 표준 ABI를 정의할 경우 "잃을" 수 있는 것은 무엇입니까?각 프로세서에 가장 자연스러운 방식으로 구현할 수 있는 자유. 저는 특히 c가 다른 어떤 언어보다도 더 다양한 아키텍처에 적합한 구현을 가지고 있다고 생각합니다.현재 일반적인 고급 범용 CPU에 최적화된 ABI를 준수하려면 일부 오더 머신의 비정상적인 왜곡이 필요합니다.ABI가 선택된 플랫폼을 제외한 모든 ..

programing 2023.10.18

GDB에 구조물 값 표시

GDB에 구조물 값 표시 GDB에서 구조를 가리키는 변수가 주어지면,print원시 포인터 값을 표시합니다.x가 가리키는 원시 바이트를 표시합니다.해당 구조로 가리키는 데이터, 즉 필드 목록과 필드 값을 표시할 방법이 있습니까?print *variable 그러면 GDB에 해당 변수의 값이 표시됩니다. 들여쓰기 및 새 선이 있는 구조물을 표시할 수 있는 옵션도 있습니다. $1 = { next = 0x0, flags = { sweet = 1, sour = 1 }, meat = 0x54 "Pork" } 이를 위해서는 예쁜 인쇄물을 설정해야 합니다. set print pretty on 값 배열을 인쇄하려면 다음 작업을 수행합니다. print *array@len 언급URL : https://stackoverflow..

programing 2023.10.18

구글의 트루타임 API 복제가 어려운 이유는?

구글의 트루타임 API 복제가 어려운 이유는? 일반적으로 언론에서 Google의 TrueTime API를 복제하기 어렵다고 하는 이유(Wired, Slashdot 등)를 잘 모르겠습니다. 구글이 달성하고 있는 낮은 오류 간격을 얻는 것이 얼마나 어려운 일인지는 이해할 수 있지만, API 자체가 얼마나 어려운 일인지는 알 수 없습니다. 예를 들어, 해킹당한 버전을 같이 휘핑했습니다.여기 간격이 있습니다. typedef struct TT_interval { struct timeval earliest; struct timeval latest; } TT_interval; 지금 기능입니다. int TT_now(TT_interval* interval) { struct ntptimeval tv; struct time..

programing 2023.10.18

c 프로그램으로 데이터를 플롯하는 방법은?

c 프로그램으로 데이터를 플롯하는 방법은? 저는 C 프로그래밍에 대한 지식이 부족한 기계 엔지니어입니다.시뮬레이션을 하기 위해 코드를 작성했고, 시뮬레이션 결과를 시각화하고 싶습니다.하고 있는 중입니다.Dev-C내 코드를 써줘서요와 함께fopen그리고.fprintf합니다가 생성됩니다..dat결과가 포함된 파일.는을 .GNUPLOT.dat파일로 결과를 표시합니다.이것은 시간이 걸리고 시뮬레이션이 끝날 때까지 기다려야 합니다.까를 연결할 수 이 있습니까?Dev-C에 내 를 모의하기 ?까?gnupplot을 이미 알고 있으므로 가장 간단한 방법은 프로그램에서 gnupplot을 호출하여 데이터를 파이프링하는 것입니다. FILE *gnuplot = popen("gnuplot", "w"); fprintf(gnuplo..

programing 2023.10.13

나는 C의 malloc()와 calloc()에 대해 매우 혼란스럽습니다.

나는 C의 malloc()와 calloc()에 대해 매우 혼란스럽습니다. 저는 항상 자바로 프로그래밍을 해왔기 때문에 이 부분에 대해 매우 혼란스러워하고 있습니다. 자바 I에서는 포인터를 선언합니다. int[] array 초기화하거나 메모리를 할당합니다. int[] array = {0,1,0} int[] array = new int[3] 이제 C에서는 모든 게 너무 혼란스러워요.처음에 나는 그것이 선언하는 것만큼 쉽다고 생각했습니다. int array[] 초기화 또는 메모리 할당: int array[] = {0,1,0} int array[] = malloc(3*sizeof(int)) int array[] = calloc(3,sizeof(int)) 제가 틀리지 않는 이상 위의 내용은 모두 동등한 Java-..

programing 2023.10.13

gdb: 현재 컨텍스트에 기호 "i"가 없습니다.

gdb: 현재 컨텍스트에 기호 "i"가 없습니다. C 프로그래밍 gdb를 디버깅하는 동안 for loop에 중단점이 있습니다."i" 값을 인쇄할 수 없습니다(현재 컨텍스트에서 기호 "i"가 없습니다.).나는 다른 변수들의 값을 인쇄할 수 있습니다.정상인가요? 루프는 다음과 같습니다. for (i=0; i 0 ){ k = feature_mask[i] - 1; if (neighbors[k][nmax-1] != 0){ neighbors[k][nmax-1] = bvalue; feature_mask[i] = -feature_mask[i]; } } } 만 되었을 수 .feature_mask[i]순환 내에 컴파일러를 호출할 때 최적화 수준을 지..

programing 2023.10.13
반응형