zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155315 《信息安全系统设计基础》第二周课堂测试总结

    1.vi编辑

    要求

    1. 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
    2. 用Vi输入图中代码,并用gcc编译通过
    3. 在Vi中使用K查找printf的帮助文档、

    运行结果

    2.gcc测试

    要求

    1. 用gcc 进行预处理,编译,汇编,链接vi输入的代码
    2. 生成的可执行文件中要有自己的学号

    运行结果

    3.gdb调试

    要求

    1. 用gcc -g编译vi输入的代码
    2. 在main函数中设置一个行断点
    3. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点

    代码调试中的问题及解决方法

    问题:
    在设置了条件断点之后,程序调试的时候不会在断点处停下。
    解决方法: 在空循环中加一行代码打印空行再设置条件断点然后运行就可以了。如果只是空循环,不会停下。

    运行结果

    4.静态库的测试

    要求

    除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,制作一个mymath.a静态库,让main.c使用mymath.a。

    步骤

    1. 把代码编译为目标文件形式:
      gcc -c 20155315add.c -o 20155315add.ogcc -c 20155315sub.c -o 20155315sub.ogcc -c 20155315mul.c -o 20155315mul.ogcc -c 20155315div.c -o 20155315div.o
    2. 使用工具ar创建一个存档文件:
      ar rcs mymath.a 20155315add.o 20155315sub.o 20155315mul.o 20155315div.o
    3. 编译程序时把程序和 mymath.a链接起来:
      gcc -static -o link1 20155315main.o mymath.a
    4. 运行link1
      ./link1

    运行结果

    5.共享库

    要求

    除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,制作一个mymath.so共享库,让main.c使用mymath.so。

    步骤

    1. 创建一个共享的目标文件
      gcc -shared -fpic -o mymath.so 20155315add.c 20155315sub.c 20155315mul.c 20155315div.c
    2. 创建可执行目标文件
      gcc -o link2 20155315main.c ./mymath.so
    3. 运行link2
      ./link2

    运行结果

    心得与体会

    本来以为这次测试就是简单地编个程序,没想到中途出现了许多没有见过的问题,这让我明白,没有codeblock中的各种提示及自动生成的各种文件后,在linux中编程序才更需要细心与耐心。

  • 相关阅读:
    CodeForces 454C——数学——Little Pony and Expected Maximum
    7.23多校——5305DFS——Friends
    Codeforces Round #313 (Div. 2)——C数学题——Gerald's Hexagon
    Codeforces Round #313 (Div. 2)——D递归,stirng——Equivalent Strings
    Codeforces Round #312 (Div. 2)——C暴力技巧——Amr and Chemistry
    简单几何(线段覆盖) POJ 3347 Kadj Squares
    DP+BIT(优化复杂度) UESTC 1217 The Battle of Chibi
    DP(01背包) UESTC 1218 Pick The Sticks (15CCPC C)
    二叉树的前中后序遍历以及表达式树
    DP(优化) UVALive 6073 Math Magic
  • 原文地址:https://www.cnblogs.com/-zyl/p/7609572.html
Copyright © 2011-2022 走看看