本文目录一览

1,Linux软件开发入门课程有哪些

达内的嵌入式培训主要分为5个阶段,分别如下: 第一阶段、嵌入式Linux软件开发基础(C、数据结构、C++);课程持续4.5周共168课时。第二阶段、嵌入式Linux高级软件开发(Linux环境高级软件开发、QT、数据库);课程持续5周共200课时。 第三阶段、ARM体系结构与编程(ARM体系结构、编程模型、指令集、裸板驱动开发);课程持续2周共80课时。 第四阶段、嵌入式Linux系统软件开发(嵌入式Linux系统部署、嵌入式Linux驱动开发);课程持续4周共160课时。 第五阶段、嵌入式Linux软件开发项目实践(智能家居控制系统)课程持续2周共80课时 地址:西安市碑林区兴庆南路交大出版大厦6层(坐车到沙坡村下车)网址:www.xatarena.net/qrs/电话:02982222601

Linux软件开发入门课程有哪些

2,如何学习linux开发

很多朋友都想知道如何学习linux开发?下面就一起来看看吧!如何学习linux开发linux系统最初可以学Linux基础知识、基本命令。还可以学习Linux用户及权限基础、Linux系统进程管理进阶、linux高效文本、文件处理命令、shelI脚本入门等等知识。学好这些知识后就可以对上层的应用和服务进行深入学习,在学习过程中可在电脑上边练习边学。Linux的用处linux是一套免费开放源代码的操作系统,用户可以按照自己的想法来修改源代码,它的每一个操作,你都能够充分了解,这对计算机方面的爱好者是有很大帮助的,它可以让用户知道系统是怎样工作的。Linux的语言linux开发用的是C语言和汇编语言。C语言是Linux的“母语”,这也是linux这个开源环境和本身机制所导致的。Linux的内核部分基本都是用C语言来编写的,还有部分是用汇编语言写的。

如何学习linux开发

3,linux编程

这是个很技术信的问题!多 翻翻书 多看看网站
http://docs.huihoo.com/gnu/linux/index.htm 在里面看
在虚拟机上装个Linux系统,不影响你的windows 这个是不可能的,C/C++的编译过程是相当狠的,一般都会经过大量的优化,这就使编译生成的文件比源文件中包含的信息少的多的多,所以要想还原是根本不可能的。 不过也听说有一些工具可以一定程序得反编译C/C++,但可以确定的是反编译之后的代码与源代码只是功能上相同,代码内容并不完全匹配,比如你用的是for循环,反编译之后可能变马了while,你源代码中有8个变量,反编译之后变成了一个。
http://www.smarter.com.cn/search.php?q=%B1%E0%B3%CClinux

linux编程

4,Linux系统下开发的重要性

Linux来源于芬兰程序员林纳斯(Linus),是 Unix 的一种,它控制整个系统基本服务的核心程式 (kernel) 是由 Linus 带头开发出来的,「Linux」这个名称便是以「Linus&39;s Minix」来命名。Linux向全世界开源,并执行GPL协议,衍生出了无数个发行版。但是有个问题就是,Linux系统很少得到设备厂商发行的驱动程序,就是因为GPL协议要求这些程序必须公开源代码,而对于很多硬件厂商而言,这些东西是不会公开的。但是基于Linux开发的操作系统,一定就是Linux发行版吗?答案是并不一定,我们可以参考Android。Android为了摆脱GPL协议和LGPL协议,不能直接运行Linux程序,而是重新开发了安卓自己的程序运行框架(我自己的理解就是加了一个虚拟机,绕开了GPL的桎梏)。你们会把Android当Linux吗?众所周知,安卓是美国产的开源操作系统,但是从没有人会说,看呐,安卓根本不是美国产,它是芬兰的。致敬Linus,因为他的开源行为。Linux 已经不是某个公司的,某个国家的操作系统。Linux 是属于全人类的共同财产。

5,如何开始 linux开发 技术问答

可以在电脑里装个双系统。对各种硬件还有图形界面支持比较好的要数Ubuntu了如果你装linux仅仅是为了配lamP环境用来开发PHP,平时不怎么用其他功能,也可以考虑装个CentOS来用貌似现在一般配服务器都会选CentOS的(我自己服务器就用的这个)在自己的PC模拟一个服务器的环境用来测试吧。装虚拟机来运行个linux也可以,不过我个人觉得在机器里装个双系统更有感觉~我现在本本就是XP和Ubuntu共存的~再就是多用文本模式,多用vi,某个角度来说,很有利于编码效率的~
Linux有很多版本,请推荐一个版本,现在用的比较多的,问题问完了。谢谢
谢谢大家的回复,如果有好的建议,请继续发帖,以赐教如果有更好的建议,我会给您增加威望值的
飞翔de希望 仁兄:Linux开发没有什么不可吧,测试有专门的测试人员,公司有各种测试环境的。开发在Linux下,应该是蛮现实的问题嘛,我觉得。LAMP?为何如此盛行呢?感谢你的回复daimadaquan 发表于 2009-5-27 16:03[i]很简单的一个比方,写一个JS,你至少要保证在IE6/7/8/FF下正常执行吧,Linux下你怎么装IE7?兼容浏览器应该一开始就做好,而不是让测试人员帮你测
26# 我是想在Linux下开发PHP,希望可以说一下,哪一个版本比较合适.谢谢
有人说,做PHP,如果不在Linux下开发,算不得真正的PHPer-----------------------------------------------------------------------谁说的。:sweat:

6,如何学习搭建Linux嵌入式开发平台

准确的说,LINUX下C才是主要的开发语言,但是写应用程序还是要用面向对象的,尤其是图形界面的,不如QT和X和GTK等等。下面说的必须要求你C语言学的很好而且会使用LINUX的情况下。LINUX常用命令要熟悉。要学LINUX下的C编程,先看一两本LINUX下C的书比较好,这个你自己选择,但是经典的书还是好一些,比如《LINUX程序设计》、《UNIX环境高级编程》,看这些的时候把书上的例子选择一些自己编译一下,哪怕是照着敲进去,事半功倍。看完一本这样的书,你对LINUX系统编程的知识就足够了,这时候你可以开始阅读一些LINUX下的源代码来锻炼和提升能力了,LINUX下有很多开源的软件,你可以搜一下,应用程序也很多,但是最好的源代码还是LINUX内核。推荐一本简单的内核书《linux内核完全剖析0.12》,这个讲的是0.12内核,代码量只有1万多行的内核,现在的2.6估计一千万,一辈子看不完。这个书讲了很多X86体系结构的知识,这时理解内核必备的,汇编你要能看懂。能看懂内核代码了,就说明你至少不是初学者了,现在肯定能开发项目了,有了经验后,恭喜你,你就成为一名LINUX程序员了。再由这些基础后,你就可以选择一些具体的开放方向了,比如底层一点,驱动,协议等、或者嵌入式应用等、或者是QT等。不过这就是后话了,呵呵我自己的一些体会,希望能对你有用。

7,新手linux开发怎么学

给你一个嵌入式Linux操作系统学习规划吧希望对你有所帮助ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。(4)兴趣所在,这是最主要的。
学linux和bash, 和C语言可以同步学;学C++, 如果是系统级开发的话也不那么重要,但是有好处的熟悉系统库, system call 当然不仅仅是熟悉函数,而是要熟悉其机制,理论知识包括进程,线程,socket, IPC, 可能还要sys v的IPC等等很多通信方式,这里就开始做分水岭了, 如果服务器开发, 那么要专注于各种模型;应用级开发那么要还要看基于哪个window;当然可能你会用python等其他语言开发; 那么得熟悉那些语言中的与system call的接口即可; 虽然运行效率低很多, 但是机器性能可以弥补, 最重要的是开发效率高很多,并且更安全,毕竟我们新手技术上不可能比得过那些达能的嘛; 他们都把系统调用封装好了,用起来其实比自己直接调用C语言系统库更安全;
首先学好Shell编程,然后学一门优秀的开发语言Python,这个必须会!学好这两门语言就差不多了,其他Linux知识请百度《Linux就该这么学》
书籍 :鸟哥的私房菜 服务器篇 基础篇 debian服务器管理 看redhat 用ubuntu ? 这两系统根本是不同的架构 简单说 redhat 红旗 fedora 属于同类 ubuntu debian mint 属于同类, 如果您是一直使用windows,但又想对linux有一个了解,那么我建议您使用虚拟pc;如果您还没有做好心理准备全面完整的接受linux或者您对单独安装或者制作双启动没有百分百的把握而又想领略linux的风资,那么我也建议您使用虚拟pc.

8,linux开发工程师开发什么的

一:C语言:嵌入式Linux开发工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域重要也是主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。二:Linux基础:Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。三:Linux系统编程:重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。四:Linux网络编程:计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。五:数据结构与算法:数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。六:C 、QT:C是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。七:Cortex A8 、Linux 平台开发:通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。八:驱动开发:驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。以上内容就是linux开发工程师主要会干什么,看上去挺多的吧。事实上linux的学习是一步一步循序渐进的,慢慢的就会发现,一切都顺理成章。还在犹豫要不要学习?赶紧开始吧!

9,如何学习linux驱动开发

1. 那么究竟什么是驱动程序,它有什么用呢:l 驱动是硬件设备与应用程序之间的一个中间软件层l 它使得某个特定硬件能够响应一个定义良好的内部编程接口,同时完全隐蔽了设备的工作细节l 用户通过一组与具体设备无关的标准化的调用来完成相应的操作l 驱动程序的任务就是把这些标准化的系统调用映射到具体设备对于实际硬件的特定操作上l 驱动程序是内核的一部分,可以使用中断、DMA等操作l 驱动程序在用户态和内核态之间传递数据2. Linux驱动的基本框架3. Linux下设备驱动程序的一般可以分为以下三类1) 字符设备a) 所有能够象字节流一样访问的设备都通过字符设备来实现b) 它们被映射为文件系统中的节点,通常在/dev/目录下面c) 一般要包含open read write close等系统调用的实现2) 块设备d) 通常是指诸如磁盘、内存、Flash等可以容纳文件系统的存储设备。e) 块设备也是通过文件系统来访问,与字符设备的区别是:内核管理数据的方式不同f) 它允许象字符设备一样以字节流的方式来访问,也可一次传递任意多的字节。3) 网络接口设备g) 通常它指的是硬件设备,但有时也可能是一个软件设备(如回环接口loopback),它们由内核中网络子系统驱动,负责发送和接收数据包。h) 它们的数据传送往往不是面向流的,因此很难将它们映射到一个文件系统的节点上。
我也是刚刚学习,谈一下自己的感受。1.首先c语言要会,不要说精通,至少谭浩强那本破书你得大致看一遍(如果你没学过任何语言的话,入门快),不过不建议你看谭浩强的书,垃圾中的极品。2.买一本linux入门的书,很多人用《鸟哥的私房菜》,我没用,由于我用的ubuntu,所以我买了一本《ubuntu从入门到精通》,还凑合,我基本当手册用,中国人写的书都有点枯燥,教条式的。自己选择,书只是工具,还得靠自己。3.对linux有一定了解后,买一本《linux程序设计,或者买一本被称为“圣经”《unix环境高级编程》,不过建议前者,适合初学者,很不错的。4.做驱动多少得懂一点内核的只是,起码多常用的系统调用得知道。内核的书籍都比较难啃,不过啃下来,收获也颇多,建议《深入理解linux内核》。5.还有硬件的支持,刚学时基本用不上,可以略过。6.主角该上场了,最后搞一本驱动开发的书吧,我用的《linux设备驱动开发详解》,当时我主要看中里面的实例比较多,个人建议你买一本实例比较多的说,边学边练,进步才快些。 不过注意一点,不要看完一本书之后才看另外一本,几本书同时看,遇到不懂得再后头看前面的。希望对你有帮助,上面的书一般我用的,你自己选择,适合我的未必适合你。不贵要跪在坚持,如果你之前没有一点经验,开始阶段比较煎熬。 有钱买块板子,我这几天也要买,有一定基础后,板子是必要的。

10,linux下做开发怎么样

要想在linux下面编程,首先得熟习linux的使用才行,学习的大体过程我描迅在下面,希望对你有帮助:1.鸟哥的私房菜基础篇。这是学习linux系统的使用。2.....................服务器篇。可以看些简单的服务器构建:tftp,ftp,nfs,dhcp.以后用的到。3.shell编程及高级编程。这里可以了解,不一定深入。有个概念就好了。4.c语言编程(c program plus 第五版,C与指针,C专家编程,C陷阱,这几本书是经典之作)5.gcc ,make ,ctags,dbg的使用以及makefile的编写(这一步与4同步进行)6.unix 高级环境编程 (这是书名,也是你要学的)7.QT的编写,或则GTK 的编写(这是图形界面的开始)至此软件工程师结束(下面是开发工程师要继续的)8.gun arm的使用,交叉编译环境的搭建9.arm 下面的编程与qtopia的搭建。包括qt/em....led(记不下来,你自己搜下)交叉编译环境的搭建(完成arm上面的图形化)10.对arm 开发板的熟悉。11.gun arm汇编的编写与内嵌汇编的编写12.u-boot下面驱动的编写(根据芯片手册来编写)13.u-boot的移植,这里也可以用vivi14.kernel的裁减与移植15.文件系统的构建与移植16.系统级别的驱动编写//到此 开发工程师初步形成。然后就是不停的练就慢慢成为高级了。
1. 学会写简单的makefile  2. 编一应用程序,可以用makefile跑起来  3. 学会写驱动的makefile  4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。  5. 写一完整驱动, 加上read, write, ioctl, polling等各种函数的驱动实现。 在ioctl里完成从用户空间向内核空间传递结构体的实现。  6. 写一block驱动, 加上read,write,ioctl,poll等各种函数实现。  7. 简单学习下内存管理, 这个是最难的,明白各种memory alloc的函数实现细节。这是linux开发的基本功。  8. 学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。  9. 看内核中实际应用的驱动代码。 你会发现最基本的你已经知道了, 大的框架都是一样的, 无非是read, write, ioctl等函数的实现, 但里面包含了很多很多细小的实现细节是之前不知道的。 这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。 推荐您看2.6.20中integrated的一个驱动 kvm, 记得是在driver/lguest下,很好玩的, 就是linux下的虚拟机驱动, 代码不长,但功能强大。有能力的可以自己写一操作系统按照要求做成磁盘镜像加载到虚拟机中, 然后客户机可以有自己的4g虚拟地址空间。  10. 看完驱动欢迎您进入linux kernel学习中来。 最简单的方法,跟着ldd(linux devive driver)做一遍。  学习linux驱动开发是一个很漫长的过程,有的人能迎风破浪,有的人却只能知难而退,我也不知道自己是哪一种人,只是知道我现在从事的工作就是linux驱动的工作,而且工作不是很轻松,而且不是向我以前想象的那么简单,而我的理想与目标,可能会向后延期。但是我也很庆幸,因为我还来得及,知道自己以后的路应该怎么走。  对于我个人能力,自认为还不是一个合格的工程师,就好像现在的人把工程师当作司机一样,满大街的都是工程师,没有几个能够和自己的称呼真正的对称,所以我也明白自己现在在做什么,应该做什么,我是一个一旦确定了目标,就会一直走下去,所以我现在唯一能做的就是努力,努力,再努力。好了,废话也不多说了。为了避免一些刚刚接触的人走弯路,我就把如何才能走入这样行业,而你应该具备什么知识,你应该怎样一步一步的走,等等介绍给大家,  首先学习linux驱动开发(2.4和2.6),真本身就是一个非常笼统的概念,那好我们应该怎样去学习呢。  1,首先你应该是一个计算机专业出身的学生,因为在上大学的时候,有好多基础课程(我们所说的垃圾课),都是驱动学习的非常重要的课程,所以我们要把那些基础学好,就是说我们在大学学习的每门课程都是有用的,想成为一个真正的高手,必须具备那些基础知识。比如说:c语言,汇编语言,数据结构,计算机系统结构,操作系统,微机原理,数点,模电,等等,总之要把这些学好,只有这样你才能迈进驱动的大门,而不是只是当一个修修补补的人(这句话只有做过驱动开发的人,能明白我说的意思)如果不是计算机专业的话,那你就慢慢补吧......  2 接下来,我们应该把c语言学习到精通在精通。那应该怎样才能把c学习到精通在精通呢,好,你只要把这五本书搞懂了,就没有问题了。  1 the.c.programming.language.2nd.edition  2 c语言接口与实现--创建可重用软件的技术  3 c陷阱与缺陷  4 c语言参考手册第五版  5 c专家编程  3当你具备了以上内容,那你就可以学习linux了。好我也就把怎样去学习linux的过程介绍一下。首先你应该利用一段时间把基础学习一下,包括基本命令,服务的配置,文件系统的介绍。还有就是linux的操作,要达到熟练,简单的说就是把会用linux系统了。当然这只是一个开始,前段的学习不要超过两个月的时间,快的话一个月就够了。好了,重点学习的东西,vi,gcc,gdb,shell,makefile的学习和使用,编译一个简单的c程序。要知道c在不同环境下使用也是不一样的,所以我们不要在windows下练习,要一直在linux去做这些事情。这个学习的过程也得2个月的时间,我们要多学习一下makefile和shell,在这之前的学习要学的慢一点,打基础要牢靠一点。  4 以上的内容你都掌握了,接下来就是真正的进入应用层的开发了。由于本人是从事网络开发的,所以我也只能给大家介绍一个怎么才能进入网络开发的行列。首先你应该好好的学习一下网络基础的东西,这也是非常重要的哦。包括,计算机网络基础,tcp/ip的学习等等,接下来你应该去买两本书,就是有关linux进程开发的和socket开发的书籍。这些学习的过程就漫长了。至少也得个半年的时间吧。  好了,由于时间关系,今天先写在这里,下次会把驱动的真正学习介绍一下。不用急哦,因为这些也够你学一段时间咯。

文章TAG:linux开发  Linux软件开发入门课程有哪些  
下一篇