이 프로그램의 목적은 기능을 사용하여 입력 한 학생 ID 및 시험 성적 테이블을 만드는 것입니다. 시험 성적은 문자 성적으로 변환됩니다. 내 문제는 프로그램이 입력 된 숫자 대신 메모리를 출력하고 있습니다. 나는 어딘가에서 실수를하고 있다는 것을 알고 있지만 나는 그것을 알아낼 수 없다. 어떤 도움이라도 대단히 감사합니다. #include <stdio.h>
다음 예제를 기반으로 가상 주소와 실제 주소의 차이를 설명하십시오. 같은 주소에서 다른 주소를 사용하는 방법과 여기에 특별히 사용 된 주소를 설명하십시오. 또한 두 방법을 항상 구분할 수 있습니다. 코드 : if(fork()==0)
{
a=a+5;
printf("%d%d", a, &a);
}
else
{
a=a-5;
J- 형식 명령어의 주소 인코딩과 관련하여 혼란 스럽습니다. 클래스 노트에서 : 는 L1은 16 진수로 400024입니다 소수의 주소 4194340에서 가정합니다. 바이트 (0x400024)가 아닌 명령어 (0x100009)의 주소로 대상 필드를 채 웁니다. 누군가이 사실을 설명해 주시겠습니까?
int netif_rx(struct sk_buff *skb)
{
struct timeval stamp;
if (skb->stamp.tv_sec == 0)
do_gettimeofday(&skb->stamp);
}
커널이 위의 기능을 실행하기 시작하고 마지막으로 버퍼 skbuf에 저장하려고합니다. 위와 같이 코드를 작성하면 스케줄링 시간을 버퍼에
정확하게 실행되는 메모리 주소에 저장된 int에 액세스하여 증가시키는 간단한 테스트 프로그램을 만들었습니다. 실행하면 1을 출력하지만, 만들 때 warning이됩니다. 다음과 같은 말 : warning: passing argument 1 of ‘insert’ from incompatible pointer type 그러나, 나는 포인터를 수락하도록 선언 된
저는 잠시 동안 프로그램이 정상적으로 실행될 때 디버거가 내 코드에 오류를 표시하는 이유에 대해 당혹 스러웠습니다. 파일에서 정보를 읽는 아주 간단한 프로그램에는 세 부분이 있습니다. 내 코드는 -o 테스트 global.f90의 read.f90의 test.f90 ifort 을 통해 아래 컴파일 세 포트란 파일로 분류됩니다 global.f90 : module
gdb 및 objdump에 관한 여러 가지 질문이 있습니다. 내가 할 경우 objdump를 에서 주소 : Disassembly of section .text:
080484a0 <_start>:
80484a0: 31 ed xor %ebp,%ebp
80484a2: 5e pop %esi
80484a3: 89 e1 mov %esp,