20,175,212 통 Haozhen "정보 보안 시스템 설계의 기초"3 주 학습 요약

20175212 "정보 보안 시스템 설계의 기초"3 주 학습 요약

내용 요약 학습

리눅스에서 친숙한 개발 환경

둘째, VI의 기본 작동에 익숙

셋째, GCC 컴파일러의 기본 원칙을 잘 알고 있어야

1. 포맷 GCC [옵션] [이름]
-E : 전처리 만 컴파일
어셈블러 소스 코드 C의 변환 : -S을
-c를 : 전용 연결이 수행되지 않는다 컴파일
(표준 컴파일러 상기 공정)
-o : 출력 파일이 생성 지정
-I를 : 헤더 파일 디렉토리를 지정
-I를 : 라이브러리에 링크 할 수있는 프로그램을 지정
-L이 : 디렉토리 파일 라이브러리의 이름을 지정합니다

일반적인 옵션 GCC 컴파일러 넷째, 숙련 된 사용

여기에 그림 삽입 설명
여기에 그림 삽입 설명
여기에 그림 삽입 설명
여기에 그림 삽입 설명

다섯째, 당업자 사용 GDB 디버깅 기술

  • gdb를 programm에 (GDB를 시작합니다)
  • B 브레이크 (: 라인 브레이크 포인트, 브레이크 포인트 기능 조건부 중단 임시 중단 중단 네 종류 설정한다)
  • 실행 프로그램을 실행 시작
  • BT 인쇄 기능 호출 스택
  • 페이지 뷰 변수 값
  • 다음 브레이크 포인트에 현재 중단 점에서 계속 실행 c는
  • 단일 단계 N
  • 단일 단계의
  • GDB를 그만 그만

여기에 그림 삽입 설명

여기에 그림 삽입 설명
여기에 그림 삽입 설명

여섯째, 기본 원칙 및 메이크 구문 사양을 잘 알고 있어야

프로젝트의 소스 파일의 종류에 따라, 계산하지 않습니다, 기능 모듈은 여러 디렉토리에 넣고, 메이크 파일을 다시해야하는 파일을 컴파일 할 필요가있는, 컴파일 할 파일이 필요로 지정하는 일련의 규칙을 정의 편집, 훨씬 더 복잡한 기능 동작 때문에 운영 체제 명령을 실행 할 수 있습니다 쉘, 같은 스크립트 같은 메이크. 메이크가의 혜택을 가져다 - 당신은 단지 make 명령을 필요가있다 "자동화 컴파일"한 번 작성을, 전체 프로젝트는 완전히 크게 소프트웨어 개발의 효율성을 향상 자동 컴파일러입니다.
1.makefile

testmymath: main.o add.o sub.o mul.o div.o 
gcc main.o add.o sub.o mul.o div.o -o testmymath

2. 컴파일 메이크, 대상 파일 testmymath를 얻을 수

 testmymath: main.o add.o sub.o mul.o div.o 
    gcc main.o add.o sub.o mul.o div.o -o testmymath
    main.o: main.c head.h
    gcc -c main.c
    add.o: add.c head.h
    gcc -c add.c
    sub.o: sub.c head.h
    gcc -c sub.c
    mul.o: mul.c head.h
    gcc -c mul.c
    div.o: div.c head.h
    gcc -c div.c
    
    

여기에 그림 삽입 설명

정적 및 동적 라이브러리 일곱 마스터 생성 및 호출 방법

에이트는 C 프로그램 시뮬레이션 모듈은 모듈 원리 분해 "높은 응집력 낮은 결합"이해되어야한다

나인, 링크의 개념을 이해하기

교과서 학습과 문제 해결 과정

  • 问题1:教材中有提到:GDB的n(next)命令让GDB执行下一行,然后暂停。 s(step)命令的作用与此类似,只是在函数调用时step命令会进入函数,那么实际使用中应该优先选用哪个?
  • 问题1解决方案:经过类比以前C和Java的学习得知,应优先使用next。step 就是单步执行,遇到子函数就进入并且继续单步执行;在其他调试其中相当于step-into命令,作用是移动到下一个可执行的代码行。如果当前行是一个函数调用,则调试器进入函数并停止在函数体的第一行。step可以帮助初步揭开代码位置的谜团,例如:函数调用和函数本身可能在不同的文件中。next 是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。在其他调试器中相当于step-over,作用是在同一个调用栈层中移动到下一个可执行的代码行。调试器不会进入函数体。如果当前行是函数的最后一行,则,next将进入下一个栈层,并在调用函数的下一行停止

代码调试中的问题和解决过程

  • 问题1:提示找不到头文件여기에 그림 삽입 설명

  • 问题1解决方案:之前按教材指导将head.h放在另外创建的include文件夹中,导致直接编译时无法找到。在src中拷贝一份即可编译。

    代码托管

여기에 그림 삽입 설명

上周考试错题总结

其他(感悟、思考等,可选)

xxx
xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 53/53 1/1 20/20

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 계획 연구 시간 : XX 시간

  • 실제 공부 시간 : XX 시간

  • 개선 :

(사용 가능한 더 볼 현대적인 소프트웨어 공학 교육용
소프트웨어 엔지니어에게 자기 평가 양식 할 수있는 능력을
)

참고 자료

추천

출처www.cnblogs.com/thz666/p/11568977.html