Linux开发引导
1、应用程序目录
/bin 用于存放启动系统时用到的程序
/usr/bin 用于存放用户使用的标准程序
/usr/local/bin 用于存放软件安装的程序
/sbin:/usr/sbin 用于存放系统管理程序(root)
系统为某个特定的主机或本地网络添加的程序通常可在目录/usr/local/bin或opt中找到。
系统级应用程序,放在/usr/local目录中。开发用和个人的应用程序,放在home目录中某个文件夹。
还可以在PATH变量中添加。
2、头文件目录
对于C语言来说,头文件几乎总是位于/usr/include目录及其子目录中。
依赖于特定Linux版本的头文件通常可在目录/usr/include/sys和/usr/include/linux中找到。
对于其他编程系统有各自的头文件,如GNU C++的/usr/include/c++目录。
还可以用-I标志来包含保存在子目录或非标准位置中的头文件。
如:gcc -I/usr/openwin/include fred.c
3、库文件
标准库文件一般存放在/lib和/usr/lib目录中。
由于历史遗留问题,链接器只搜索标准C语言库。
除了把库文件放在标准目录中,库文件还必须遵循特定的命名规范并且需要在命令中明确指定。
命名规范:库文件总是以lib开头,随后指明什么库,最后给出库文件类型,如lib**.a或lib**.so。
命令明确指定:可通过给出完整的库文件路径或用-l标志,如:
gcc -o fred fred.c /usr/lib/libm.a
或
gcc -o fred fred.c -lm(-lm标志的另一个好处是如果有共享库,编译器自动选择共享库)
4、创建一个静态库
(1)先创建源文件,并编译为目标文件
(2)用ar创建归档文件
ar crv libfoo.a bill.o fred.o
(3)为函数库生成内容表
ranlib libfoo.a
(4)使用静态库
gcc -o program program.c libfoo.a
gcc -o program program.c -L. -lfoo
Linux开发引导的更多相关文章
- 熟悉linux开发环境(实验)
北京电子科技学院(BESTI) 实验报告 课程: 深入理解计算机系统 班级: 1353班 姓名:张若嘉 杨舒雯 学号:20135330 20135324 成绩: 指导教师:娄嘉鹏 实验日期:2015. ...
- 嵌入式Linux开发
嵌入式Linux的开发和研究是Linux领域研究的一个热点,目前已开发成功的嵌入式系统有一半以上都是Linux.Linux到底有什么优势,使之取得如此辉煌的成绩呢?本文分为两大部分:Linux的优点. ...
- (转)Linux 开机引导和启动过程详解
Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...
- Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]
Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07 北京海淀区 ...
- 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测
ST公司去年推出了MPU系列芯片,MPU系列不同于以往产品,它既包含有ARM公司Cortex M 单片机核心,也包含有ARM公司Cortex A 应用处理器核心,以期将STM32单片机产品优势扩展到更 ...
- 小白自制Linux开发板 二. u-boot移植
上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB 中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在 ...
- 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...
- 用Windows+VirtualBox搭建嵌入式Linux开发环境
Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...
- 嵌入式linux开发环境构建
2.1硬件环境构建 2.1.1主机与目标板结合的交叉开发模式 在主机上编辑.编译软件,然后再目标办上运行.验证程序. 对于S3C2440.S3C2410开发板,进行嵌入式Linux开发时一般可以分为以 ...
随机推荐
- 使用putty从linux主机上面往windows主机下面拷贝文件
更新一下,把putty的包解压以后,想要在dos窗口中直接使用,必须把putty解压的文件的路径添加到环境变量中,这样使用起来就会非常简单了. 郁闷了好久,终于搞定了putty的上传下载文件命令psc ...
- PHP压缩上传图片
最近手上的项目页面要显示很多图片,虽然用了jQuery的lazyload,但是效果并没理想,滑动到一个区域还要比较长的时间图片才完全显示出来.于是想着将上传上去的900KB+压缩备份一份缩略图. PH ...
- Project Euler:Problem 87 Prime power triples
The smallest number expressible as the sum of a prime square, prime cube, and prime fourth power is ...
- 使用MongoDB 记录业务日志
最近公司有个需求,要对业务日志进行记录并根据日志排查问题,以前都是使用log4net之类的日志组件来记录到文件,这种方式已经不能满足业务的需要,因为日志文件会很大,即使进行分割后,查找也是很不方便,何 ...
- CentOS 6.4 yum安装LAMP环境
一.制作连外网的yum源文件 1. centOS安装完成时是默认存在的,不需要做任何操作,可以直接使用yum 命令进行操作, 默认是在 /etc/yum.repos.d/目录下的 2. 如果你因为制 ...
- C++ 错误积累
错误一 VS2012错误:不能在成员函数 的类外部重新声明该函数 解决:检查函数的大括号匹配
- task1-9
今天完成: Task1.参考修真院线下报名贴(学习资料-线下报名-北京报名)中报名的格式,整理出业务模型,确定需要几个对象,每个对象的属性是什么,对象和对象之间的关系是一对一,还是一对多. [参考资料 ...
- Dbvisualizer 连接oracle数据库
软件及驱动下载: 链接:https://pan.baidu.com/s/1OhuRDCd6FDi21NyCEdN2dA 密码:0rtp 软件破解办法: 1. 找到<C:\Program File ...
- 今天在网上查看了一个socket程序,运行的时候一直报错,经过队友解决?
1.首先是问题代码ip_port = ('192.168.12.2',8001)2.上边的代码本身没有问题,但是必须经过修改自己本机的局域网IP地址才能顺利链接请参考上一篇blog的地址,查看本机的i ...
- 九度OJ 1206:字符串连接 (字符串操作)
时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:4127 解决:1957 题目描述: 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来. 输入: 每一行包括两个 ...