실험의 두 번째 주

테스트 1-VI 테스트

  1. 이 .c 파일, 각 파일을있는 .h, 최선의 파일 이름은 자신의 학생 번호가
  2. 코드를 VI-입력하고 GCC 컴파일
  3. K는 VI에서의 printf 찾기 도움말 문서를 사용하여
  4. 전체 화면으로 바이올렛 편집 과정 스크린 샷 제출, 자신의 학생 번호 정보를 포함

테스트 2-GCC 테스트

  1. 입력 링크 VI의 GCC와 사전 코드, 컴파일러, 어셈블러,
  2. 실행 파일은 자신의 학생 번호를 생성
  3. 전체 화면으로, 사전 컴파일러, 어셈블러, 링커를 제출하는 과정 샷을 실행, 자신의 학생 번호 정보를 포함

단계 전처리 : 헤더 파일과 매크로, -E는 전처리 과정 볼 수 있도록 GCC 컴파일러는 전처리 과정이 끝난 후 중지 할 수 있습니다
일반적인 형식은 다음과 같습니다 GCC를 [옵션] [옵션] 대상 파일의 gcc를 컴파일 할 파일 - E에서는 hello.c -o 아가야

컴파일 단계 : 옵션 -S를 사용하여 어셈블리 언어로 번역 GCC 코드는 어셈블리 코드에서 생성 된 결과의 컴파일없이 컴파일되었다. GCC -S 아가야 -o hello.s
컴파일 단계 : 바이너리 오브젝트 코드에 어셈블러 코드를 확인하려면 -c 옵션을 사용하여, 오브젝트 파일로 .S 파일을 설정합니다. GCC -c hello.s -o hello.o
링크 단계 : 달성 된 함수 호출 라이브러리 파일 중 libc.so.6으로 라이브러리에 기본 검색 링크.
실행 ./ 안녕하세요


시험 3 GDB 테스트

  1. 입력 VI와 -g GCC 컴파일러 코드
  2. 라인 주요 기능에 중단 점을 설정
  3. 메인 함수에서 중단 점 번호 학교 조건 설정의 절반에 대한 빈주기, 자신의 학교에 대한 4주기를 추가
  4. 스크린 샷 전체 화면으로, (조건부 중단 점을 포함한다) 디버깅 제출, 자신의 학생 번호 정보를 포함
    GDB 기본 명령은 다음과 같습니다
    GDB을 programm이 (GDB를 시작)
    줄 바꿈 : B 세트 중단 점 (브레이크 포인트 네 가지 종류를 설정해야 점 함수 브레이크 포인트, 브레이크 상태 임시 중단)
    실행을 실행하는 프로그램을 시작
    BT 프린트 함수 호출 스택
    값 보는 쪽
    중단 점에서 현재 중단 계속 C
    N 단일 단계
    의 단일 공정 동작
    설정된 브레이크 포인트
    기능 : B .c 파일 이름 : 이름 기능
    라인 : 로우 B의
    조건 : 행수 경우 식 B (예 : B 9 경우 == 12)
    임시 : TB [파일명 :] 행 번호 나 기능 <조건식 >


테스트 테스트 4 - 정적 라이브러리

  1. 또한 MAIN.C하기 위해, 다른 4 개 개의 모듈 다른 사람에게 소스 코드를 원하지 않는 (add.c의 sub.c의 mul.c의 div.c)는 어떻게 mymath.a 정적 라이브러리를 만드는 방법? mymath.a를 사용하는 방법 MAIN.C?
  2. 정적 라이브러리 생성 과정을 제출하고 전체 화면으로, (조건부 중단 점을 포함한다) 샷을 호출, 자신의 학생 번호 정보를 포함

정적 라이브러리
단계를 연결, 접미사 ".A는"동적 라이브러리 확장을 선택 정적 라이브러리를 선택하고, 정적 라이브러리는 아카이브에 오브젝트 파일 (.o 인 파일) ((LIB + 이름)가 .a 파일)의 집합입니다 ".so를"입니다.

정적 링크 라이브러리를 생성 : GCC -c 파일 이름이 .c 아칸소 rcsv libxxx.a xxx.o,
정적 라이브러리를 사용 : GCC -o 파일 이름을 파일 이름이 .c -L -lxxx.


시험 5 공유 라이브러리

  1. 또한 MAIN.C하기 위해, 다른 4 개 개의 모듈 다른 사람에게 소스 코드를 원하지 않는 (add.c의 sub.c의 mul.c의 div.c)는 어떻게 mymath.so 공유 라이브러리를 만드는 방법? mymath.so을 사용하는 방법을 MAIN.C?
  2. 공유 라이브러리를 제출하고 전체 화면으로, (조건부 중단 점을 포함한다) 프로 시저 스크린 샷을 호출, 자신의 학생 번호 정보가 포함되어
    동적 라이브러리는
    공유 라이브러리를 생성 : GCC -fPIC -c xxx.c의 gcc -shared -o libxxx.so XXX ; .o 인
    주 main.c에 -L -lxxx -o 사용하는 공유 라이브러리 :. GCC
    : 생성 된
    GCC -fPIC -C add.c sub.c mul.c div.c
    GCC -shared -o libmymath.so add.o sub.o mul.o div.o

-shared -o libmymath.so add.c -fPIC GCC div.c mul.c sub.c
GCC -o 20,155,227 main.c의 ./libmymath.so

시험 메이크. 6
메이크. 1 vi 편집기 상기 컴파일 된 코드를 작성하기가 컴파일 대상 파일에서 만 명시 적 규칙을 사용할 수 testmymath입니다.

2 전체 화면으로, 자신의 학생 번호 정보를 포함, 제출 과정 샷을 확인

메이크
자신의 종류에 따라 무수한의 프로젝트의 소스 파일, 기능 모듈은 여러 디렉토리에 넣었다. 메이크 파일을 다시 컴파일해야 할 파일을 컴파일 할 필요가 파일을 컴파일 할 필요가 지정하는 규칙의 집합, 훨씬 더 복잡한 함수를 정의합니다. 그 혜택은 - "자동화 컴파일"한 번 크게 소프트웨어 개발의 효율성을 향상에만 make 명령, 완전히 컴파일 전체 프로젝트를 작성.

추천

출처www.cnblogs.com/banpingcu/p/11586941.html