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

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

首页 / 操作系统 / Linux

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"这样的字符串。表面上看来这是一个意义不大的编程问题,然而,如果真要在实际中派上用场,函数应设计为具有一定弹性,以允许调用者指定小数位数。另外,函数也应该能够处理各种异常情况,如...
实例讲解C++中CopyFileEx函数的简单用法

实例讲解C++中CopyFileEx函数的简单用法

复制文件可以用 CopyFile API 函数。CopyFileEx 函数的好处是:它提供了回调函数,程序员可以向用户显示复制的过程。这里我不打算介绍回调函数的详细参数,这个可以看MSDN;我说一些MSDN中没有说明的东西。1、多久回调一次?答案是:每传输 64KB 数据回调一次;2、回调原因第一次返回:CALLBACK_STREAM_SWITCH ,以后都返回:CALLBACK_CHUNK_FINISHED第一次表示开始复制,但还没有复制。3、回调函数返...
Linux内核模块编程入门

Linux内核模块编程入门

先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。因此,这里与其说是关于Linux内核学习的经验,不如说是自己的教训吧,希望不要扔鸡蛋砸我^_^ 常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需: 1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨...
读Kernel感悟-Linux内核启动-开启页面映射

读Kernel感悟-Linux内核启动-开启页面映射

在setup的帮助下,我们顺利地从16位实地址模式过渡到32位段式寻址的保护模式。又在arch/i386/boot/compressed/head.S的帮助下实现了内核的自解压,并且从arch/i386/kernel/head.S中的startup_32开始。现在在线性地址0x100000(1M)处开始就是我们的解压后的内核了。而startup_32()的地址恰好是0x100000。由于还没有开启页面映射,所以必须引用变量的线性地址(即变量的虚拟地址-PA...
读Kernel感悟-Linux内核启动-内核解压缩

读Kernel感悟-Linux内核启动-内核解压缩

这得从vmliux.bin的产生过程说起。从Linux内核的生成过程来看内核的链接主要有三步:第一步是把内核的源代码编译成.o文件,然后链接,这一步,链接的是arch/i386/kernel/head.S,生成的是vmlinux。注意的是这里的所有变量地址都是32位页寻址方式的保护模式下的虚拟地址。通常在3G以上。第二步,将vmlinux objcopy 成arch/i386/boot/compressed/vmlinux.bin,之后加以压缩,最后作为数...
Linux下C++开发工具介绍

Linux下C++开发工具介绍

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake。它们以集成方式提供给最终用户,对于初学者而言十...
下载:Linux Kernel 2.6.29.1

下载:Linux Kernel 2.6.29.1

Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,这里有一份Linus Torvalds当时在Usenet新闻组comp.os.minix所登载的贴子,这份著名的贴子标志着Linux计划的正式开始。在计划的早期有一些Minix 黑客提供了协助,而今天全球无...
在Ubuntu Server 8.10上搭建Hadoop-0.19.0环境

在Ubuntu Server 8.10上搭建Hadoop-0.19.0环境

在Ubuntu Server 8.10上搭建基于Hadoop-0.19.0的分布式运行环境(VMware workstation版)长期以来,一直很喜欢研究分布式的技术,也一直想尝试搭建一个分布式编程环境,最近看到一些文章讨论Hadoop很多,而且也看到Google也使用Hadoop开发了搜索引擎,因此想尝试着自己也弄一个玩玩,在网上查到了几篇文章讨论了Hadoop环境的搭建,但是讲的都不是很明白,我跟随这些文章Step by step,本以为会是很顺利,...
在Java中创建PDF:iText JAR

在Java中创建PDF:iText JAR

iText是一个免费的Java-PDF库,通过它可以实现on the fly(动态的)创建PDF。iText是那些需要动态PDF文档生成或操作功能来改进应用程序的开发者的理想选择。iText不是一个用户终端工具,也就是说你不用像使用Acrobat或其它PDF工具那样,只需要把iText内建到自己的程序中,它就可以自动的完成PDF生成和操作。 iText具有如下功能: ◆将PDF传输到浏览器 ◆通过XML文件或数据库来生成动态文档 ◆支持众多的PDF交互功...
Linux下的C语言的随机数算法代码

Linux下的C语言的随机数算法代码

在Linux下取随机数,当然可以简单的用rand函数,不过要注意的是一定要设置好种子,否则伪随机数就会变成非常伪的随机数。设置种子,一般就用time函数返回当前时间即可。一般来讲,这样的做法基本上就可以了,因为虽然我们用的是随机数,但是由于种子不同,从上亿的数中去猜测我们的种子几乎是不可能的。 但是如果我们的种子算法被知道了,那么显然就不行了。当然作为某些应用也无所谓,比如我们要在屏幕上随机的画一只小猪。这样的应用几乎不会有谁会去关心下一次会是什么结果。...
Linux 内核中的 GCC 特性

Linux 内核中的 GCC 特性

Linux? 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。 GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行。Linux 还利用 GCC 中的特性(称为扩展)实现更多功能和优化。本文讨论一些重要的扩展,讲解如何在 ...
Linux内核ARP缓存表格式

Linux内核ARP缓存表格式

arp_tbl是一个类型为struct neigh_table的全局变量,它是一个ARP的缓存表,也称为邻居表。协议栈通过ARP协议获取到的网络上邻居主机的IP地址与MAC地址的对应关系都会保存在这个表中,以备下次与邻居通讯时使用,同时,ARP模块自身也会提供一套相应的机制来更新和维护这个邻居表。下面逐个分析arp_tbl中的重要成员数据与函数。entry_size,key_len,kmem_cachep。entry_size是一个入口的大小,也就是arp...
<< 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 >>