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

首页 / 操作系统 / Linux

利用crosstool工具构建嵌入式Linux交叉编译工具链

利用crosstool工具构建嵌入式Linux交叉编译工具链

一、什么是交叉编译工具链?交叉编译工具链就是为了在一个平台体系结构下(如X86 PC机)能编译,链接,处理和调试另一个平台体系结构下(如ARM)的程序,使得编译生成的程序能够在另一平台下运行。简单地说,就是在一个平台上生成另一个平台上的可执行代码。二、本次制作交叉编译工具链使用软件:交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。Linux使用的工具链软件是:Binut...
Linux环境下Eclipse的C++配置

Linux环境下Eclipse的C++配置

打算用Linux下面的eclipse进行c++开发,因为好久没做c++开发了,又对Linux没那么熟悉,就记录一下我的入门经历。目的是创建一个共享库,然后用另一个项目去调用。首先,创建一个共享库。打开eclipse,选择c++项目里面的共享库,创建即可,然后就是编写相应的代码什么的……比如这个库就叫做test吧,里面有个类,叫做CTest。写好之后,编译,保证没有问题。这个时候应该得到了一个libtest.so文件,还有就是CTest类的头文件CTest....
Linux下安装、配置ACE

Linux下安装、配置ACE

最近打算开始学习Linux下的C++程序开发,经过几天的搜索,发现ACE这套框架不错,最主要的是能够跨平台。不过在安装的过程中还是走了不少的弯路,在此记录下来。一、下载安装包下载地址:http://download.dre.vanderbilt.edu/由于我只需要使用ACE,因此我只下载了ACE.tar.gz二、安装前的配置首先把文件解压,我解压在了/Software文件夹下,解压后会出现一个名字为ACE_wrappers的文件夹。这样所有ACE的源文件...
想要精通PHP吗?先学好Linux/Unix和C吧

想要精通PHP吗?先学好Linux/Unix和C吧

现在的IT市场很浮躁,充斥着各种各样的所谓“精通”,在求职简历上比比皆是。但是本文目的不在于讨论精通的标准,也不想去批评现在漫天的精通。就让我们暂且认同“精通”这两个字,来讨论下Linux/Unix(以下简称Linux)和C对精通PHP的帮助。另外要说明下的是,这里说的精通PHP只是纯粹对于PHP来说的,并不是指web开发,所以javascript,HTML或者Ajax,smarty,CSS这类都不在讨论范围。首先无论从哪个方面看,PHP和Linux都是最...
Ubuntu 下安装 QT 开发环境

Ubuntu 下安装 QT 开发环境

虽然网络上很多人使用 RedHat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。要知道,自己编译源代码可不是一件轻松的事,因为在编译过程中经常会出现令人意外而且莫名其妙的错误。我们使用的操作系统是 Ubuntu 8.04,使用目前最新版本的QT 4.4.0,安装起来即为简单,只要运行以下命令就行:sudo apt-get install ...
Linux内核编译 CONFIG_MODVERSIONS 作用

Linux内核编译 CONFIG_MODVERSIONS 作用

关于Linux内核编译 CONFIG_MODVERSIONS 作用的两篇文章整理。一般情况下,如果没有选择CONFIG_MODVERSIONS,这些符号是正常的字串;如果选择了CONFIG_MODVERSIONS,这些符号就会在后面加一段校验字串。这样做的目的是避免模块不正确加载情况下,使得Linux内核崩溃。一、如果内核选择了CONFIG_MODVERSIONS选项,你的模块的Makefile要增加以下几行CFLAGS += -DMODVERSIONS ...
Linux C/C++开发环境

Linux C/C++开发环境

今天给大家写一个我的读书笔记:Linux C/C++开发环境(1)在Linux下玩过的朋友想必都知道gcc,gcc由很多组件组成:gcc,g++(c++的编译工具),cpp(C预处理程序),ld(gnu链接程序).gas(gnu Assembler 主要用于处理汇编代码),gdb(gnu调试工具),prof(gnu 配置工具).Linux 中的库:1.静态库:链接时生成一份可执行文件的拷贝。优点:每个可执行程序都有一份相同的拷贝以至于编译以后不需要库的支持...
在JDK 5.0中使用灵活的线程锁定机制

在JDK 5.0中使用灵活的线程锁定机制

JDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择。例如,java.util.concurrent.lock 中的类 ReentrantLock 被作为Java 语言中synchronized 功能的替代,它具有相同的内存语义、相同的锁定,但在争用条件下却有更好的性能,此外,它还有synchronized 没有提供的其他特性。这是否意味着我们应当忘记synchronized ,转而只用 ReentrantLock 呢?并发性专家 Br...
Linux中软中断机制分析

Linux中软中断机制分析

什么是软中断机制?Linux中的软中断机制用于系统中对时间要求最严格以及最重要的中断下半部进行使用。在系统设计过程中,大家都清楚中断上下文不能处理太多的事情,需要快速的返回,否则很容易导致中断事件的丢失,所以这就产生了一个问题:中断发生之后的事务处理由谁来完成?在前后台程序中,由于只有中断上下文和一个任务上下文,所以中断上下文触发事件,设置标记位,任务上下文循环扫描标记位,执行相应的动作,也就是中断发生之后的事情由任务来完成了,只不过任务上下文采用扫描的方...
详解Java多线程开发中的数据同步

详解Java多线程开发中的数据同步

Java中的变量分为两类:局部变量和类变量。局部变量是指在方法内定义的变量,如在run方法中定义的变量。对于这些变量来说,并不存在线程之间共享的问题。因此,它们不需要进行数据同步。类变量是在类中定义的变量,作用域是整个类。这类变量可以被多个线程共享。因此,我们需要对这类变量进行数据同步。数据同步就是指在同一时间,只能由一个线程来访问被同步的类变量,当前线程访问完这些变量后,其他线程才能继续访问。这里说的访问是指有写操作的访问,如果所有访问类变量的线程都是读...
Linux+C语言:数字图像处理源程序

Linux+C语言:数字图像处理源程序

这个是我将原来的用C语言写的数字图像处理改写在可以通过G++编译了。原来的程序是通过的VC++6的编译,但是没有通过GCC的编译,这次经过更改之后,已经完整的通过了VC6和GCC的编译,因此,可以用在Windows下和Linux下。我的Linux的C C++的编程环境是Code Blocks,很不错的。下面是更改之后的源程序,全部的源程序哦。随后,我会增加一些图像处理的算法上去的。现在,只是简单的读图和保存图。BMP.h的全部源程序:#ifndef BMP...
深度介绍Linux内核是如何工作的

深度介绍Linux内核是如何工作的

牛津字典中对"kernel"一词的定义是:"较软的、通常是一个坚果可食用的部分。"当然还有第二种定义:"某个东西核心或者最重要的部分。"对Linux来说,它的Kernel无疑属于第二种解释。让我们来看看这个重要的东西是如何工作的,先从一点理论说起。 广义地来说kernel就是一个软件,它在硬件和运行在计算机上的应用程序之间提供了一个层。严格点从计算机科学的角度来说,Linux中的Kernel指的是Linus Torvalds在90年代初期写的那点代码。 ...
Linux的初始内核自解压分析

Linux的初始内核自解压分析

概述 1)Linux的初始内核映象以gzip压缩文件的格式存放在zImage或bzImage之中,内核的自举代码将它解压到1M内存开始处.在内核初始化时, 如果加载了压缩的initrd映象, 内核会将它解压到内存盘中,这两处解压过程都使用了lib/inflate.c文件. 2)inflate.c是从gzip源程序中分离出来的, 包含了一些对全局数据的直接引用,在使用时需要直接嵌入到代码中.gzip压缩文件时总是在前32K字节的范围内寻找重复的字符串进行...
Linux-千兆网卡驱动实现机制浅析

Linux-千兆网卡驱动实现机制浅析

网卡作为一个PCI设备,其必须遵守相应的PCI规范,即必须为网卡定义相应的标识号,每个PCI外设由一个总线编号、一个设备编号及一个功能编号来标识。网卡驱动程序则需要定义相应的pci_device_id结构来表示其支持的PCI外设的标识…… 1.引言 本分析主要针对e1000网卡,驱动源码为7.3.20-k2。本文的目的不是为了讲述如何编写Linux驱动程序,主要是分析网卡驱动内部的实现机制。通过此分析,希望可以理解驱动程序中的各个部分的关系,对网卡发送...
如何在C++语言中对浮点数进行格式化处理

如何在C++语言中对浮点数进行格式化处理

本文章将讲解如何在C++语言中用最简单的方法来控制小数位,怎样对程序中的浮点数据进行"整齐"地格式化!下面接着往下看:问题的引出如有一个函数,其可接受一个long double参数,并将参数转换为字符串,结果字符串应保留两位小数,例如,浮点值123.45678应该生成"123.45"这样的字符串。表面上看来这是一个意义不大的编程问题,然而,如果真要在实际中派上用场,函数应设计为具有一定弹性,以允许调用者指定小数位数。另外,函数也应该能够处理各种异常情况,如...
<< 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 >>