Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

精通C/C++同样能找到一份非常好的工作

精通C/C++同样能找到一份非常好的工作

电类专业大学生都学过C或C++,但没有引起大家的重视。电类专业毕业生要想有一份高薪水的工作,从事与嵌入式系统应用技术有关的开发工作是首选。软硬通吃当然是高手,但事实上只要你精通C/C++,哪怕其它课程完全按部就班地学一遍,等到毕业时要找一份好工作也是非常容易的。精通C/C++的同学的就业方向主要有基于X86计算机的驱动程序开发工程师、WinCE、Linux与软件开发工程师等职位。到了大四时,很多同学都希望毕业后能够从事WinCE、Linux方向的嵌入式软件...
Eclipse提高工作效率的好习惯

Eclipse提高工作效率的好习惯

下面就一些每天都在使用的东西列个表(不分先后),肯定是不全的,或者是不详细的,高手请补充,入门弟子请体验Eclipse提高工作效率的好习惯:1、切换编辑点 Alt + <-, Alt + ->2、查看打开文件 Ctr + e3、充分利用模板 主要是自己定义的4、自定义快捷键生成Getter和Setter我的:Ctr+Shift+S,S 单个的属性的生成你可以:Ctr+1 建议中有一项5、删除时候尽量不要退格或者Delete键,行级别 Ctr+d...
Linux进程调度的常用数据结构和函数

Linux进程调度的常用数据结构和函数

Linux2.4内核进程调度的缺陷:Linux2.4 内核的进程调度采用时间片轮转和优先级相结合的调度策略,但存在以下几个致命缺陷:1>调度算法时间复杂度是 O(n)。2.4 内核每次调度都要进行一次循环,耗时与当前就绪进程数有关,因此达不到实时性的要求;时间片重算时必须给 task_struct 结构和就绪进程队列上锁.2>不提供抢占式调度,会导致大量的竞争,使就绪队列成为一个明显的瓶颈;3>在 SMP 系统中,只有一个就绪队列,这将导...
Linux进程调度时机

Linux进程调度时机

Linux进程调度程序虽然特别重要,但它不过是一个存在于内核空间中的函数而已,并不神秘。Linux的调度程序是一个叫Schedule()的函数,这个函数被调用的频率很高,由它来决定是否要进行进程的切换,如果要切换的话,切换到哪个进程等等。我们先来看在什么情况下要执行调度程序,我们把这种情况叫做调度时机。Linux调度时机主要有:1、进程状态转换的时刻:进程终止、进程睡眠;2、当前进程的时间片用完时(current->counter=0);3、设备驱动...
Linux进程调度的运行队列

Linux进程调度的运行队列

运行队列当Linux内核要寻找一个新的进程在CPU上运行时,必须只考虑处于可运行状态的进程,(即在TASK_RUNNING状态的进程),因为扫描整个进程链表是相当低效的,所以引入了可运行状态进程的双向循环链表,也叫运行队列(runqueue)。运行队列容纳了系统中所有可以运行的进程,它是一个双向循环队列该队列通过task_struct结构中的两个指针run_list链表来维持。队列的标志有两个:一个是“空进程”idle_task、一个是队列的长度。有两个特...
浅析Java中的深拷贝与浅拷贝

浅析Java中的深拷贝与浅拷贝

首先我们看看浅拷贝和深拷贝的定义 浅拷贝:只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制 深拷贝:对象,对象内部的引用均复制 为了更好的理解它们的区别我们假设有一个对象A,它包含有2对象对象A1和对象A2 对象A进行浅拷贝后,得到对象B但是对象A1和A2并没有被拷贝 对象A进行深拷贝,得到对象B的同时A1和A2连同它们的引用也被拷贝 在理解了深拷贝和浅拷贝后,我们来看看Java的深拷贝和浅拷贝实现。java.lang.Objec...
怎样使用Java读取OpenOffice文档

怎样使用Java读取OpenOffice文档

由于项目的需要,我们需要在Java程序读取OpenOffice文档,并对数据进行处理。本文介绍了如何使用ODF Toolkit去读取OpenOffice SpreadSheet的内容。 1. OpenOffice Spreedsheet 文档 假设我们需要读取如下图所示的OpenOffice Spreedsheet 文档: 上面的文档也包含在本文的源代码中。 OpenOffice文档其实是以XML格式存储的,其中包含了文档内容和格式控制等。 ...
关于Linux下编译u-boot的问题

关于Linux下编译u-boot的问题

我自己的板卡使用的是mpc8641,在移植uboot的时候遇到了一些小问题,现在将他们列举出来。最开始我想使用Linux的gcc来编译uboot,因此我在虚拟机上安装了RedHat9,先编译一下原有的uboot代码吧,使用命令#make MPC8641d_config#make这两句话我记得不是特别清楚了,可以参考别人的文章。如果是你自己的板卡的uboot,你必须在makefile文件中添加两行代码:myboard_config : unconfig @....
Linux多线程和共享内存

Linux多线程和共享内存

昨日用Linux编译多线程程序,并不复杂,只是一个简单的pthread_create但是总返回-1,搞的很是郁闷,后来总算找到原因是在编译时没有连接 -lpthread这个库引起的。共享内存在一个进程里只需要申请一次,则多个线程即可共用。实现了申请一块共享内存,用多个信号量进行控制访问。先创建内存,再建立内存映射,最后断开映射。内存关闭可由另外一个进程来完成。起多进程可以考虑system()这个函数,效果不错。...
Linux Shell简介

Linux Shell简介

Linux系统提供多种不同的Shell以供选择,Linux缺省的Shell是Bourne Again Shell (简称bash)。Linux终端(Terminals)是使用Shell的一种方式。Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编...
Linux下的嵌入式目标程序的仿真调试方法

Linux下的嵌入式目标程序的仿真调试方法

一、实验目的1.学习在Linux环境下,目标应用程序仿真调试环境的安装方法;2.学会在Linux环境下,单步调试运行arm板上的目标程序。二、实验内容1.下载源码包gdb-6.6.tar.gz,解压后编译链接,安装2.通过一个简单的应用程序hello,学会利用gdbserver在主机上通过网络在对arm板上运行的程序进行调试。三、实验设备1.一台装有Linux系统的PC机2.优龙ARM9实验箱四、实验原理嵌入式Linux的GDB调试环境由Host端(PC机...
基于JVM的语言正在开始流行

基于JVM的语言正在开始流行

这是Reuven Lerner在去年写的一篇博文,文章主要介绍了一些新兴的基于JVM的脚本语言。结合本文可以对Bruce的博文《C++和JAVA传统中积极的一面》有一个很好的理解。译者认为,语言始终都是一门工具,软件设计最重要的东西是来自于设计者的创造性,但是随着Java语言的出现,他的半动态的特性,ClassLoader,反射,动态代理,都是提高开发者创造性的前提,正是因为这些特性,才会出现新的的编程模式和范式——反转控制和依赖注入,面向方面的编程(AO...
C++中随机存取文件的处理

C++中随机存取文件的处理

在本文中,我们所讲的是怎样使用C++中的随机存取文件。除了最简单的应用程序以外,大多数程序都需要读写文件。或许只是为了读取一个配置文件,一个文本解析器或更为复杂的什么东西。和许多的C++程序一样,有些人更喜欢用原先的C语言方式处理问题,如果你恰好也是这些人中的一员,就应该学习一下这篇文章。基本的文件操作有·fopen——打开文件,指定文件以怎样的方式打开(读/写)以及类型(二进制/文本)·fclose——关闭已经打开的文件·fread——读取文件·fwri...
深入Java对象及元素的存储区域

深入Java对象及元素的存储区域

在JAVA平台上开发应用程序的时候,有一个很大的特点就是其是在应用程序运行的时候才建立对象。换句话说,在程序运行的时候,才会最终确定对象的归属,即对象应该存储在什么地方。由于存储在不同的区域,其在性能上会有所不同。为此作为Java程序开发人员需要了解各个存储区域的特点以及对性能的影响。然后再根据需要来调整应用程序的区域分配。总的来说,在操作系统中有五个地方可以用来保存应用程序运行中的数据。这类区域的特点以及对性能的影响分析如下。存储区域一:寄存器虽然同在内...
移植Linux2.6.25内核到mini2440s3c2440

移植Linux2.6.25内核到mini2440s3c2440

注:尊重他人劳动果实,以下转自jiajingtao126网友的百度空间Linux内核移植移植Linux2.6.25内核到mini2440/s3c2440详解2009-04-28 10:45空闲时间做了内核的移植工作,将Linux2.6.25内核移植到mini2440,下面是我成功移植后总结的笔记,希望对初学此方面的博友有帮助。一.开发环境的建立1.系统为VMware5.5 + Red Hat Linux 9.02.交叉编译器版本为arm-Linux-gcc...
<< 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 >>