第一章 入门
来源:互联网 发布:办公室做数据是做什么 编辑:程序博客网 时间:2024/05/16 17:39
第一章 入门。
1.linux应用程序表现为2种特殊类型的文件:可执行文件和脚本文件,对应windows下的。exe和批处理。linux不要求可执行文件或脚本有特殊的饿文件扩展名,文件系统属性用来表明一个文件是否为可执行程序。
2.我们是与一个叫bash的脚本进行交互的,脚本里可执行文件的执行要么在PATH环境变量里, 要么自己定义路径,/bin为绝对路径,bin为相对路径,指的紧接着当前路径往下。可以通过echo &PATH显示环境变量,以:隔开,也可以加入或者删除环境变量。
3.文本编辑器用的是vi或者vim,建议vim,因为程序的字体会给你颜色提示,使用的时候可以vim aa.txt,就创建或者打开aa.txt了。
4.C语言编辑器选择gcc,比如gcc -o hello hello.c,“-o hello”是一个参数,依旧是-o后面必须紧跟着参数,hello.c也是参数,所以这2个位置应该可以互换。执行的时候最好./hello,.是当前目录
5.系统正常使用提供的程序,都可在目录/user/bin中找到,有点像windows的system32感觉。
6.可以使用-I标志来包含保存在子目录或者非标准位置中的头文件,例如gcc -I/usr/openwin/include/ fred.c, 他告诉编译器,不仅在标准位置搜索头文件,也在/usr/openwin/include/ 路径下搜索fred.c的头文件
7.库文件,标准库文件一般存储在/lib和/usr/lib目录中。.a代表静态库,.so代表动态库,函数库通常同时以静态库和动态库同时存在,可以通过完整的库的路径名或用-l标志来告诉编译器要搜索的库文件,例如gcc -o fred fred.c /user/lib/libm.a,告诉编译器除了搜索标准的的C语言函数库外,还要搜索数学库,或者gcc - o fred fred.c -lm,-lm如果是共享库,编译器则自动选择共享库。
当然也可以通过-L标志增加编译器的苦的搜索路径,例如:gcc -o fred -L/usr/openvin/lib fred.c -lX11,这条命令用 /usr/openvin/lib目录中的libX11库版本来编译fred。
静态库的创建:
gcc -c bill.c fred.c //编译,形成.o文件,相当于windows下的obj目标文件,最后通过连接形成可执行文件
gcc -c program.c //program.c调用了库文件里的函数,并且有一个。h声明了库函数。
gcc -o program program.o bill.o//链接生成可执行文件。
我也可以创建我自己的库文件,利用ar程序把目标文件放到一个库里。
ar crv libfoo.a bill.o fred.o//库文件创建好了,目标文件也放进去了,要想成功地使用函数库,还需要一个内容表,可以通过ranlib命令来完成,lib下,这一步不是必须的。
ranlib libfoo.a
现在库函数可以使用了
gcc -o program program.o libfll.a 或者
gcc -o program program.o -L. -lfoo
共享库:
为了使发行后的库函数可以修改,而不需要修改客户的代码,因为静态库会将库函数连接到自己的可执行文件中,如果库函数错了,客户代码也需要修改,所以引用了动态库。
8.获取帮助
man gcc
info gcc
- 第一章 入门
- 第一章 入门
- 第一章 入门
- 第一章 入门
- 第一章 入门
- 第一章 入门
- 第一章 入门
- 第一章 - 互连网入门
- PLSQL入门第一章
- 第一章:XML快速入门
- 第一章 PDM入门知识
- 第一章 快速入门
- 第一章 快速入门
- 第一章 C#入门基础
- 第一章:数据结构入门
- 第一章:快速入门
- 第一章 快速入门
- 第一章:快速入门
- Linux下C语言的调试
- 编函数,完成冒泡排序。
- 基数排序与hash表
- 继承与派生类 学习笔记1
- apache shiro与spring的环境搭建
- 第一章 入门
- 如何利用组件在flash中加调色板
- 3.4 最简单的设备驱动——LED灯驱动
- 第二章 Shell程序设计
- 第三章 文件操作
- 指针出参探究
- LightOJ 1300 - Odd Personality
- 我们一起学MAC编程吧(1)
- 第四章 Linux环境