zoukankan      html  css  js  c++  java
  • Linux第四周作业

    一、关于静态库的测试
    1 首先对 编写 .h 以及.c 文件,对编辑的文件进行编译。第一次我只是通过命令“gcc *.c -o 20179225”,但是通过这个命令只出现了可执行文件并没有出现 .o文件,于是我就又进行了 “gcc -c *.c ”得到.o 文件。

    2 生成静态库
    使用命令“ar cr libmymath.a *.o”,其中生成静态库和动态库必须写成"lib+名字.a",意思是将所有的“.o”文件生成静态库。然后对其进行了编译,,编译时用到了“main.c”文件,使用的命令是“gcc main.c -L. -lmymath”其中 -L 代表需要库依赖 ,需要注意的-L.中的“.”不要忘记,“-l+名字”在名字后没有.a。此时生成静态库。
    3 设置条件断点
    若设置条件断点必须先输入命令“-g”,首先我输入命令“gcc -g *.c”,其次输入“gdb 20179225”进入调试窗口,在这个窗口中输入“l”可以看到main函数(输入出现的错误是直接输入的“gdb”在进入编译窗口时输入“l”出现没有符号被读取,这是由于没有输入文件名)然后输入命令“b 6 if a66”表示在第六行设置断点当a66时停下。接下来的命令“r”代表运行程序,输入“p a”查看结果


    二、关于动态库的测试
    1 利用上面编译运行的文件先生成动态库,生成动态库的命令为“gcc -fpic -shared -o libmymath.so *.o”和静态库一样必须以 lib 开头但是最后要以.so结尾。
    2 在进行动态库运行时还应该将动态库的库文移动到lib 或者 /usr/lib/ 下,使用的命令为“sudo cp libmymath.so /lib”使用超级权限进行移动(出现的问题是so与/lib间没有加空格键,导致出现没有此文件)

    3 进行运行和动态库运行的命令一样,命令为“gcc main.c -L -lmymath”,也以和静态库一样的方法进行设置断点。

    三、教材学习
    1 进程 由于操作系统都是多任务的,为了能让更多的任务能同时在系统上更好的运行,需要一个管理程序来管理计算机上同时运行的各个任务(也就是进程)
    多任务系统可以分为两类 :非抢占式多任务和抢占式多任务。
    2 Linux采用了两种不同的优先级范围,第一种是nice值,它的范围是-20~+19,值越大优先级越低,也就是说nice值为-20的进程优先级最大。
    第二种是范围是实时优先级,实时优先级的范围是0~99,与nice值的定义相反,实时优先级是值越大优先级越高。
    3 时间片 有了优先级,可以决定谁先运行了。但是对于调度程序来说,并不是运行一次就结束了,还必须知道间隔多久进行下次调度。系统响应变慢(调度周期长);调度策略必须规定一个默认的时间片,时间片设小了,进程频繁切换带来的处理器消耗。默认的时间片一般是10ms。
    4 Linux调度实现 CFS有四个部分组成 时间记账 进程选择 调度器入口 睡眠和唤醒

  • 相关阅读:
    Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
    Civil 3D 二次开发 创建Civil 3D 对象—— 00 ——
    Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线
    Civil 3D 二次开发 新建CLR项目出现错误C2143
    Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
    了解AutoCAD对象层次结构 —— 6 ——块表记录
    datepicker97使用
    使用angular 外接 templateUrl,使用ng-include
    angularJs 遮罩
    网上找的有关css兼容问题
  • 原文地址:https://www.cnblogs.com/2017yaya/p/7712213.html
Copyright © 2011-2022 走看看