标签:ar os 使用 sp 文件 问题 代码 bs linux
假设你已经学会了基本的C语言语法。
1.编程的一般过程。
1)设计整个程序的框架。在开始编写程序源代码之前,你要根据需求对整个程序进行设计。程序通常是由多个模块组成的,也许你负责的也只是一个程序中的一个模块,当然你也可以将模块再分为几个子模块,直到你认为不需再分。需要模块定义与其他模块的接口,通常是.h头文件。不必强求很细致的设计,可以在编程和调试过程中补充。
2)按照框架编写源代码。一般会在编程过程中发现之前设计的不合理处,加以修改。有时可以在编写一个(子)模块后,编写简单的测试程序检验和调试一下这个(子)模块。
3) 调试源代码。大家都会犯错的,编译器会告诉你程序中一部分语法错误或者警告,请尽量确保完成的程序中没有任何警告。调试可以通过调试器(linux下一般是gdb)来完成,也可以仅仅通过打印(printf等)完成,初学者通常只使用后者。调试过程中有时也会发现编程的疏漏甚至是设计的不合理,修改之。
4) 测试。将你认为已经不存在问题的程序交由其他人(测试人员/用户)使用,通常他们会发现一些你没有预料到的问题。
2.linux简介
linux操作系统指的是使用linux内核的操作系统。linux内核由linus Torvalds在1991年首次发布,它是一个类UNIX内核,linux内核是分时的,支持多进程、多线程、多处理器、多用户。
linux操作系统使用的应用程序绝大多数也是免费开源的,其中相当一部分属于GNU项目,因而也有人称linux操作系统为 GNU/linux。
3.和标准C的不同。
不同在于和操作系统的接口。标准C不包括对硬件操作接口和进程/线程操作接口等。不同的操作系统提供的接口也是不一样的。
UNIX有两大分支:SYSTEM V和BSD,它们各有一套操作系统接口,互不兼容。后来就有了POSIX标准,提供跨操作系统的源代码级软件可移植性。linux能够支持大部分system v和BSD操作系统接口。linux也是基于POSIX的,尽管可能在实现上有一点出入。我个人在编程过程中使用POSIX接口函数。
4.嵌入式linux和PC上linux的差别:
1)硬件架构。嵌入式linux多数运行在ARM处理器上,它是RISC;而PC用的x86处理器则是CISC。但对于应用程序开发而言,只有很小的差别,比如ARM多数使用小端存储,而x86为大端存储(后边有解释)。ARM的内存通常也相对比较小。通常直接将处理和内存芯片焊接到主板上,而不是像PC那样使用插槽。
2)引导器。引导器的不同是由硬件架构决定的。嵌入式linux多数使用uboot引导,PC的linux上则通常使用grub。
3)内核和驱动。同样是硬件架构不同的原因。x86上的设备通常使用各种总线,将设备间的差异降低到最小,如PCI-E。而arm上则经常是直接将设备的寄存器挂载到地址总线上,当然,现在的ARM通常是有USB总线的。而内核和驱动(也许需要自己开发部分设备驱动,内核中也包含部分设备的驱动)将设备的硬件接口封装为软件接口,有的驱动提供与PC linux一样的接口。所以对于应用程序开发而言,与PC上linux C编程的区别并不很大。
4)文件系统。嵌入式系统通常使用busybox来构建文件系统,提供的功能相对PC上的有限,但能满足一般的需求。
5.linux文件系统目录简介
标签:ar os 使用 sp 文件 问题 代码 bs linux
原文地址:http://www.cnblogs.com/hua946/p/3648358.html