반응형

c 78

중단점 목록을 저장하도록 GDB 가져오기

중단점 목록을 저장하도록 GDB 가져오기 그래, 정보 중단은 중단점을 나열하지만, 이 질문에서처럼 --command를 사용하여 중단점을 재사용하는 형식은 아니다.GDB는 그것들을 다시 입력할 수 있는 파일에 버리는 방법을 가지고 있는가?때로는 디버깅 세션에서 테스트를 위한 중단점 집합을 쌓은 후 GDB를 재시작해야 한다. .gdbinit 파일에는 --command와 같은 문제가 있다.info break 명령은 명령을 나열하는 것이 아니라 사람이 소비하는 표를 나열한다. 자세한 내용은 정보 단절의 샘플을 참조하십시오. (gdb) 정보 중단Num Type Disp Enb 주소 내용1 브레이크포인트 keep y 0x08048517 GDB 7.2(2011-08-23)부터는 중단점 저장 명령을 사용할 수 있다. ..

Programing 2022.05.08

int 포인터 '++'가 1이 아니라 4가 증가하는 이유는?

int 포인터 '++'가 1이 아니라 4가 증가하는 이유는? 포인터 값은 변수의 주소입니다.왜 가치가 있는가?int pointer인트 포인터가 1 증가된 후 4인치 증가하였다. 내 생각에 포인터(변수의 주소)의 값은 포인터 증분 후에 1바이트만 증가하는 것 같아. 테스트 코드: int a = 1, *ptr; ptr = &a; printf("%p\n", ptr); ptr++; printf("%p\n", ptr); 예상 출력: 0xBF8D63B8 0xBF8D63B9 실제 출력: 0xBF8D63B8 0xBF8D63BC 편집: 다른 질문 - 4바이트 a를 방문하는 방법int하나 둘씩 차지할까?a를 증분할 때T*, 그것은 움직인다.sizeof(T)바이트.† 이것은 다른 값을 이동하는 것이 말이 되지 않기 때문이다..

Programing 2022.05.06

C에 철자 배열을 연결하다

C에 철자 배열을 연결하다 차르 배열이 있다. char* name = "hello"; 그 이름에 확장자를 추가하여 이름을 만들고 싶다. hello.txt 어떻게 이럴 수가 있지? name += ".txt"효과가 없다스트래트 기능을 살펴보십시오. 특히 다음을 시도해 보십시오. const char* name = "hello"; const char* extension = ".txt"; char* name_with_extension; name_with_extension = malloc(strlen(name)+1+4); /* make space for the new string (should check the return value ...) */ strcpy(name_with_extension, name); /*..

Programing 2022.05.06

GCC 최적화가 활성화된 상태에서 스트렌을 사용하는 코드가 6.5배 느리게 표시되는 이유는?

GCC 최적화가 활성화된 상태에서 스트렌을 사용하는 코드가 6.5배 느리게 표시되는 이유는? 벤치마킹하고 싶었는데glibc의strlen어떤 이유에선지 작동하고 GCC에서 최적화가 가능한 상태에서 성능이 훨씬 느리다는 것을 알게 되었고, 나는 그 이유를 모르겠다. 내 암호는 다음과 같다. #include #include #include #include int main() { char *s = calloc(1 gcc -std=c99 -O0 benchstrlen.c &&./a.out평균 길이 0 -> 평균 시간: 14.000ns/byte, 14.000ns/call평균 길이 4 -> 평균 시간: 2.364ns/byte, 13.000ns/call평균 길이 10 -> 평균 시간: 1.238ns/byte, 13.00..

Programing 2022.05.04

읽기()와 recv()의 차이점과 보내기()와 쓰기()의 차이점은 무엇인가?

읽기()와 recv()의 차이점과 보내기()와 쓰기()의 차이점은 무엇인가? 와의 차이점은 무엇인가?read()그리고recv(), 그리고 사이send()그리고write()성능, 속도 및 기타 동작의 측면에서 소켓 프로그래밍에 있어?차이점은 이다.recv()/send()소켓 설명자에서만 작동하며 실제 작업에 대한 특정 옵션을 지정할 수 있다.이러한 기능은 약간 더 전문화되어 있다(예를 들어, 플래그를 무시하도록 설정할 수 있음).SIGPIPE또는 대역 외 메시지를 보내려면...) 기능들read()/write()범용 파일 설명자 함수가 모든 설명자에서 작동하는지 여부.구글의 첫 번째 히트곡에 따라 readvates는 플래그 파라미터가 0인 recvating과 같다.플래그 매개변수에 대한 다른 값은 recv(..

Programing 2022.05.04

역추적()/backtrace_symbols() 기능 이름을 인쇄하는 방법?

역추적()/backtrace_symbols() 기능 이름을 인쇄하는 방법? 리눅스 관련backtrace()그리고backtrace_symbols()프로그램의 통화 추적을 생성할 수 있다.하지만 기능 주소만 출력하고 내 프로그램의 이름은 인쇄하지 않는다.어떻게 하면 그들이 함수 이름도 인쇄하게 할 수 있을까? 나는 프로그램을 컴파일해 보았다.-g게다가-ggdb. 아래 테스트 케이스는 다음과 같이 인쇄한다. 백트레이스 ------------./a.out³ [0x8048616]./a.out³ [0x8048623]/lib/libc.so.6(_libc_start_main+0xf3) [0x4a937413]./a.out³ [0x8048421]---------------------- 처음 두 개 항목에도 기능 이름을 표..

Programing 2022.05.04

들여쓰기 #defines

들여쓰기 #defines 알고 있다#defines 등은 보통 움푹 들어간 적이 없다. 왜? 나는 지금 끔찍한 혼합이 있는 어떤 코드에서 일하고 있다.#defines#ifdefs#elses#endifs 등. 이 모든 것들이 보통 C 코드에 섞여 있는 경우가 많다.은.#defines는 그들을 읽기 어렵게 만든다.그리고 들여쓰기 코드와 비 들여쓰기 코드 혼합#defines는 악몽이다. 왜 그럴까?#defines 일반적으로 들여쓰지 않는가?들여쓰지 않는 이유가 있는가(예: 아래 코드와 같은)? #ifdef SDCC #if DEBUGGING == 1 #if defined (pic18f2480) #define FLASH_MEMORY_END 0x3DC0 #elif defined (pic18f2580) #define ..

Programing 2022.05.04

?: 한 식을 비워둘 때 3차 조건부 연산자 동작

?: 한 식을 비워둘 때 3차 조건부 연산자 동작 나는 시행착오를 통해 숫자를 "가져보려고" 하는 콘솔 어플리케이션을 쓰고 있었는데, 그것은 잘 작동했고, 그것을 제외한 모든 것이 내가 멍하게 쓴 어떤 부분에 대해 궁금하게 만들었다. 코드는 다음과 같다. #include #include int main() { int x,i,a,cc; for(;;){ scanf("%d",&x); a=50; i=100/a; for(cc=0;;cc++) { if(x

Programing 2022.05.04

읽기() 함수 호출의 시간 초과를 구현하는 방법?

읽기() 함수 호출의 시간 초과를 구현하는 방법? 시리얼 com 포트를 통신에 사용하고, read() 함수를 호출할 때마다 타임아웃을 구현하고 싶다. int filedesc = open( "dev/ttyS0", O_RDWR ); read( filedesc, buff, len ); 편집: 나는 리눅스 OS를 사용하고 있다.선택 기능 호출을 사용하여 구현하는 방법selectroperties는 가장 높은 파일 설명자 + 1인 5개의 매개 변수를 사용하고, 그 다음 fd_set를 읽으려면 1개, 쓰기용 1개, 예외용 1개를 사용한다.마지막 파라미터는 구조체 시간 값이며, 시간 초과에 사용된다.오류 시 -1, 시간 초과 시 0 또는 설정된 세트의 파일 설명자 수를 반환한다. #include #include #in..

Programing 2022.05.04

CRC16 체크섬 계산 기능

CRC16 체크섬 계산 기능 나는 RS232 또는 RS485 연결을 통해 단순하고 신뢰할 수 있는 통신을 제공하기 위해 도서관에서 일하고 있다.이 코드의 일부는 라인 노이즈로 인한 손상을 감지하기 위해 데이터에 CRC16 체크섬을 사용하는 것을 포함한다.CRC16 체크섬을 계산하는 함수를 만들었는데, 정확한 값을 출력하지 못하는 것 같아. 내가 작성한 관련 코드는 아래와 같다(여기도 찾을 수 있다). #include #define CRC16 0x8005 uint16_t gen_crc16(const uint8_t *data, uint16_t size) { uint16_t out = 0; int bits_read = 0, bit_flag; /* Sanity check: */ if(data == NULL) r..

Programing 2022.05.04
반응형