在学操作系统和网络时穿插着学过一点LINUX.今天开始系统的从头开始学习一下,教材是《Linxu程序设计》和《Unix环境高级编程》。
第一天:
UNIX系统:一种遵循特定规范的计算机系统,定义了所有必需的系统函数的名称、接口、行为。
Linux:一个自由发布的类Unix内核实现,是一个操作系统的底层核心。
GNU(GUN'S NOT UNIX)的GPL:自由软件及其通用许可证。(视为一种与不自由的Unix的抗议,copyleft:copyright的对立)
发行版:包含内核及很多GNU工具
文本工具:emacs,vim,gedit都是很实用的编辑器
编译器:一般自带gcc,复习下使用命令:gcc -o hello hello.c,当前目录下就生成了可执行的hello文件了:./hello
实践:创建一个小型函数库
1.工具函数:bill.c,fred.c
gcc -c bil.c fred.c//执行后从源文件编译到bill.o,fred.o目标文件
2.接口头文件申明函数:lib.h
3.调用文件:program.c
gcc -c program.c
gcc -o program program.o bil.o//链接成可执行文件
4.创建并使用一个库文件
ar crv libfoo.a bill.o fred.o//ar工具将若干单独文件归并到一个大的文件中(lib*.a为静态库命名)libfoo.a
gcc -o program1 program.o libfoo.a//可以用自己的库文件来链接了
或