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 시간
개선 :
(사용 가능한 더 볼 현대적인 소프트웨어 공학 교육용
소프트웨어 엔지니어에게 자기 평가 양식 할 수있는 능력을 )