苏嵌 项目实战
学习日志 姓名: 杨帅 日期: 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 库文件 usr:Linux的安装路径 ◆>重定向
预处理,编译(语法检查,词法分析),汇编,链接 1.头文件展开 <> “” 改变搜索路径 2.宏变换 3.条件编译
库文件:保存函数或变量,只能实用函数或变量,但是看不到具体实现 静态库和动态库 .a和.so 静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名.a 缺点:过大,升级难 优点:执行速度快,更容易代码部署 动态库:在执行程序启动时加入
制作静态库和动态库 静态库
动态库 gcc -shared -FPIC -o 库名.so 源文件.c gcc 源文件.c ./库名.so -o 可执行文件名
|