苏嵌//杨帅/2018.7.10



苏嵌 项目实战

 

学习日志                       姓名: 杨帅           日期: 7/10

 

 

 

 

今日学习任务

 

1. 熟练使用文本编辑器vim(基本操作、配置、使用技巧)

2. 熟练使用编辑器gcc(基本编译选项、静态库与动态库的制作和使用)

日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

 

今日任务已完成

开发代码量19(课堂)见下附

日开发中出现的问题汇总

 

 

对于静态库的生成不明确

 

日未解决问题

 

日开发收获

1.gcc介绍(gcc  GNU 计划的工具,可以编译多种语言,交叉编译器)

2.什么是交叉编译器为什么需要交叉编译器

3.原文件到可执行文件经历那几个步骤?

4.预处理做哪些工作

-l(制定头文件第三方搜索路径)

5.如何编译器停在预处理阶段(gcc -E hello.c > hello.i

6.编译阶段做哪些工作

7.如何让编译器停留在编译阶段(gcc  -c  hello.c

8.-S汇编(gcc -S hello.c

9.-o(重定义执行文件的名字)(gcc hello.c -o hello

10.静态库与动态库

 

 

自我评

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

 

 

是,与搭档合作效果还行

其他

 

附件:

一、写出1-100内的素数

#include"stdio.h"

int main(){

    int i;

    int j;

    for(i = 2;i <= 100; ++ i)

    {

        for(j = 2;j * j <=  i; ++ j){

             if(i % j == 0){

                 break;

             }  

         }

         if(j * j > i){

              printf("%d\n",i);

         }

      

     }

     return 0;

 

}

二、课堂记录

新学命令

mkdir 建立新目录    mkdir -p 创建多级目录

cd    cd..  返回上级目录   cd /  返回根目录

cp  -r  递归拷贝目录

Vi三种模式  命令行模式   插入模式   底行模式

bin 存放命令    dev 有效设备文件   etc 有效配置文件

lib  库文件      usrLinux的安装路径

>重定向

 

预处理,编译(语法检查,词法分析),汇编,链接

1.头文件展开

<> “” 改变搜索路径

2.宏变换

3.条件编译

 

库文件:保存函数或变量,只能实用函数或变量,但是看不到具体实现

静态库和动态库  .a.so

静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名.a

缺点:过大,升级难  优点:执行速度快,更容易代码部署

动态库:在执行程序启动时加入

 

制作静态库和动态库

静态库

 

 

 

动态库

gcc -shared -FPIC -o 库名.so 源文件.c

gcc 源文件.c ./库名.so -o 可执行文件名

 

猜你喜欢

转载自blog.csdn.net/xnfsrm/article/details/80992555