自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 资源 (24)
  • 收藏
  • 关注

转载 Linux C 动态内存分配 malloc及相关内容

一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte): 该函

2012-02-28 22:28:08 1064

原创 linux内核完全剖析0.12笔记--第三章 内核编程语言和环境

本章主要是as86与gas两种汇编语言的简要介绍,C语言与汇编语言的相互嵌套,目标文件的结构与及makefile文件的简要语法。  1,as86汇编的简要语法及命令可以参考http://blog.csdn.net/astraylinux/article/details/7301596  2,gas汇编与intel汇编的主要区别:(具体语法参考:http://blog.csdn.net/as

2012-02-28 13:44:58 2754

转载 GNU as汇编简介 (AT&T语法)

一、简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地

2012-02-28 12:51:28 9276 3

转载 as86汇编语言

名称  as86 - as86-8086..80386处理器的汇编程序概要格式  as86 [-0123agjuw] [-lm[list]] [-n name] [-o obj] [-b[bin]] [-s sym]  [-t textseg] src  as86_encap prog.s prog.v [prefix_] [as86 options]描述  as86是

2012-02-28 12:46:57 5934 2

转载 我理解的逻辑地址、线性地址、物理地址和虚拟地址

要过年了,发个年终总结贴,只是个人理解,不包正确哈。本贴涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。一、概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在

2012-02-26 10:49:36 638

转载 GCC 编译动态库和静态库

我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。在创建函数库前,我们先来准备举例用的源程序,并将函

2012-02-23 21:24:57 597

转载 gcc/g++参数详解

gcc/g++参数详解2009-02-18 16:21这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原因是,有可能我还没有看到这个参数,另一种原因是,我可能还不会用它 不过,我会慢慢的补齐的.哈哈 如果你要转在本文章请保留我email(pianopan@beeship.

2012-02-23 20:36:22 756

原创 linux内核完全剖析0.12笔记--第二章,微型计算机组成结构

第二章,微型计算机组成结构  本章介绍了早期的PC机组成结构其一些重要的部件的工作方式。    1,I/O端口寻址和访问控制方式主要有:程序循环查询方式(已经不用),中断处理方式,DMA传输方式。早期还没有管道,所以只有这三种方式。  2,PC/AT内存使用区域           基本BIOS启动的内存分布,        3,键盘控制共有三套扫描码集,分

2012-02-23 16:00:47 2528

原创 linux内核完全剖析0.12笔记--第一章,概述

开始学习linux内核了,对linux系统的理解还不够深,对于比较新的内核理解困难,于是选择了这本讲解早期内核的书来看,并做做笔记。   第一章,概述    介绍了linux的历史,开发背景,0.12版本内核的主要文件结构,及本书各个章节的内容分布。    linux系统的发展依赖于:unix操作系统,minix操作系统,gnu计划,posix标准和internet,本节前半部分主要是

2012-02-23 13:41:39 2439

转载 Eclipse下使用SVN版本控制

作者:朱先忠编译 转自天极[url]http://dev.yesky.com/356/2578856.shtml[/url]摘要CVS很酷,但Subversion更酷。然而,如果你在使用Eclipse进行开发,那么你可能直到近来才能利用Subversion带来的优点。随着Subclipse的发行,Subversion可能会最终在你的Eclipse IDE环境充分发挥其威力而压倒

2012-02-22 09:44:08 606

转载 程序员编程艺术第一~十章集锦与总结--面试、算法、编程

程序员编程艺术第一~十章集锦与总结--面试、算法、编程 作者:July、编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。    围绕“面试”、“算法”、“编程”三个主题的程序员编程艺术系列(简称TAOPP系列)从今年4月写第一篇起,至今快有2个月。2个月的创作中,写了十章,共计13篇文章。这是本人的第4大原创作品,不过与之前微软面试100题系列,

2012-02-22 09:35:28 666

转载 十三个经典算法研究与总结、目录+索引

十三个经典算法研究与总结、目录+索引作者:July。时间:二零一零年十二月末-二零一一年四月初。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。声明:版权所有,侵权定究。-------------------------------------------------- 前言

2012-02-22 09:33:11 756

转载 九月腾讯,创新工场,淘宝等公司最新面试三十题

九月腾讯,创新工场,淘宝等公司最新面试三十题引言        曾记否,去年的10月份也同此刻一样,是找工作的高峰期,本博客便是最初由整理微软等公司面试题而发展而来的。如今,又即将迈入求职高峰期--10月份,而本人也正在找工作中,所以,也不免关注了网上和我个人建的算法群Algorithms1-12群内朋友发布和讨论的最新面试题。特此整理,以飨诸位。至于答案,望诸位共同讨论与思考。最新面

2012-02-22 09:31:18 1034

转载 程序员面试、算法研究、编程艺术、红黑树4大经典原创系列集锦与总结

程序员面试、算法研究、编程艺术、红黑树4大经典原创系列集锦与总结作者:July--结构之法算法之道blog之博主。时间:2010年10月-2011年6月。出处:http://blog.csdn.net/v_JULY_v 。声明:版权所有,侵犯必究。 前言    开博已过8个月,回首这8个月,发现自己在本blog上着实花费了巨大的时间与精力,写的东西可能也够几本书的内

2012-02-22 09:25:21 721

转载 epoll使用详解(精髓)

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且

2012-02-22 08:41:22 516

原创 ip批量连接测试

#!/bin/bash#Program:# scan the ip from $1 to $2 ,output the ip which your can connect#History:# build by AstrayLinux in 2011/10/19PATH=/home/ocean/bin/script:/home/ocean/bin:/home/ocean/bin:/usr/

2012-02-21 19:47:27 1104

原创 批量重命名

#命令用法: allrename 新的名称 新的后缀名 旧文件名1 旧文件名2 ...#文件一般是同类格式才会一起重命名,比如: allrename picture jpg *.jpg#!/bin/bash#this script is use to rename many files together#format : allrename newfilename extendna

2012-02-21 19:39:21 546

原创 统计文件行数的shell

#!/bin/bash#Program:# Count every cpp file and h file is line in a path ,and add them ,output it#History:# Build by AstrayLinux in 2011/10/17if [ $# -ge 1 ] ; then i=0; s=0; t=0; if [ -

2012-02-21 19:37:02 1548

原创 在终端for循环

for (( i=30;ido     for (( j=40;j      do             printf "\e[$((i))m\e[$((j))m\e[1m%s\e[0m\n" "String!" //与C的printf一样      donedone在终端下写成一行,注意分号位置,done前有一个,其他都可以不用for (( i=30;i

2012-02-21 19:23:08 3744

转载 Thirft框架介绍

1、前言Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltal

2012-02-21 18:15:07 521

转载 Linux内核源码的入门方法

很多Linux 爱好者对内核很感兴趣却无从下手,本文旨在介绍一种解读Linux内核源码的入门方法,而不是讲解Linux复杂的内核机制。 1.核心源程序的文件组织(1)Linux核心源程序通常都安装在/usr/src/Linux下,而且它有一个非常简单的编号约定:任何偶数的核心(中间数字)如:2.0.30都是一个稳定的发行的核心,而任何奇数的核心如:2.1.42都是一个开发中的核心。

2012-02-19 21:37:47 721

转载 linux内核入门

步骤一:获取内核代码    这年头,Linux成了一个时髦词。自诩对电脑玩的精通的学生和IT人士们,没有哪个不在自己的电脑上安装一、两个Linux,并自觉赶上了时髦。然而,在Ubuntu或SUSE的论坛中,经常有这样的对话:    “你学Linux学了这么久,都学到了什么?”    “哦,我现在Linux的安装、升级、桌面美化都很熟练!你看我这是最新版的Ubuntu,桌面很漂亮吧!”

2012-02-19 21:34:37 878

转载 在Linux上的使用开源C++日志库 ---log4cplus

1.简 介    log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。    log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期;你可以选择将信息输出到屏幕、文件、NT event l

2012-02-14 17:09:27 4802

转载 应用 Valgrind 发现 Linux 程序的内存问题

简介:        如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPL

2012-02-14 13:18:17 594

Linux程序设计源码

《Linux程序设计第四版》的源代码 ,看书必备

2012-11-27

mfc实现自给按钮,透明按钮

如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。

2012-11-27

不规则窗体的创建

在绝大多数的Windows应用程序中,其窗体都是使用的正规正矩的矩形窗体,例如我们常用的,“记事本”,“扫雷”,等等。矩形窗体,具有编程实现简单,风格简洁的优点,所以在普通文档应用程序和简单小游戏中使用足矣。但在某些娱乐游戏程序中使用就略显呆板些了,这时若用不规则窗体替代原先的矩形窗体,将会使这类程序更添情趣。典型的例子有windows 自代的Media Player,新版本的Media Player有个控制面板的选项,选中这些面板,播放器就以选中的面板形状出现,这时的播放器比以前版本的Media Player的古老矩形界面要生动有趣的多了。 要实现不规则窗体不是太难,知道了基本原理后,你也可以创建各种有趣的不规则窗体。

2012-11-27

GDIPlus.zip 开发库

GDI   GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。   在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。 GDI+   GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。   作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离.从而使开发人员编写设备无关的应用程序变得非常容易。

2012-11-27

MFC的DLL导出类

通过创建MFC扩展DLL来导出类的方法。

2012-11-27

jsoncpp-src-0.5.0.tar.gz C++代码

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

2012-11-27

将文件和文件夹分开的lf

以前常常在找让ls单独列出文件或文件夹的方法,基本上都是通过一些shell处理,不过得到的结果一般都没有格式。学linux编程,想想自己写一个好了。 root@hastray:~# lf -a / . .. bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var initrd.img vmlinuz root@hastray:~# lf -d / bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var root@hastray:~# lf -f / initrd.img vmlinuz root@hastray:~# lf --file / initrd.img vmlinuz root@hastray:~# lf -c / bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var initrd.img vmlinuz Directories: 20 Files: 2 root@hastray:~# lf -d / /usr /: bin boot cdrom dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var /usr: arm-linux-gnueabi bin games include lib lib64 local sbin share src root@hastray:~# lf -h lf -[adfch] directory1 directory2 ... -a --all show all of the files include begin with '.' -d --dir show the directories only. -f --file show the files except directories. -c --count count there are how much files and directories. -h --help show this.

2011-11-28

linux基础知识(ubuntu),入门必备

linux系统常用的ubutu版本的入门知识,适合初学者。

2011-11-24

人月神话.pdf

《人月神话》内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在《人月神话》中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。   大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。《人月神话》探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。《人月神话》适合任何软件开发行业的从业人员阅读,对软件开发人员、软件项目经理、系统分析师更是必读之作。

2011-11-24

高质量C++编程指南.PDF

C++高质量编程 林锐主编,最新版,非常的实用,而且他是在非常多的经验下写出来的-C++

2011-11-24

Windows程序设计 第五版上下合订本

《Windows程序设计(第5版 珍藏版)》是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。   作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。   《Windows程序设计(第5版 珍藏版)》适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。

2011-11-24

Linux内核修炼之道

本书重点介绍Linux内核工作原理以及学习方法。将Linux内核的修炼之道总结为四个层次:第一层次目的是对Linux以及内核有个全面的认识和了解,掌握Linux内核源代码的分析方法。第二个层次讨论了内核中系统初始化、系统调用、中断处理、进程管理及调度、内存管理、文件系统以及设备驱动等主要部分,目的是希望读者以兴趣为导向,寻找一个子系统或模块,对其代码深入钻研和分析。第三个层次介绍了内核开发与调试的一些基本信息,目的是希望读者能够融入到内核的开发社区,做出自己的贡献。第四个层次浓缩为两个字——坚持。

2011-11-24

深入浅出MFC.pdf

  经典的mfc书籍,windows编程不可错过。   《深入浅出MFC》分为四大篇。第一篇提出学习MFC程序设计之前的必要基础,包括Windows程序的基本观念以及C++的高阶议题。“学前基础”是相当主观的认定,不过,基于我个人的学习经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++整合环境开发工具。本篇只不过是提纲挈领而已,并不企图取代 Visual C++使用手册。然而对于软件使用的老手,此篇或已足以让您掌握Visual C++整合环境。工具的使用虽然谈不上学问,但在视觉化软件开发过程中扮演极重角色,切莫小觑它。 第三篇介绍application framework的观念,以及MFC骨干程序,所谓骨干程序,是指Visual C++的工具AppWizard所产生出来的程序码。当然,AppWizard会根据你的选项做出不同的程序码,我所据以解说的,是大众化选项下的产品。 第四篇以微软公司附于Visual C++光碟片上的一个范例程序Scribble为主轴,一步一步加上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等核心技术。这些技术正是其他书籍最缺乏的部分。此篇之最后数章则脱离Scribble程序,另成一格。

2011-11-24

五子棋,C语言代码,dos环境支持鼠标操作

本人的C语言课程设计,用了一个较好理解的算法,不过智能还不错,对于人工智能入门的人学习是很有帮助的。在wintc下编译通过。

2011-11-24

C语言经典算法100例

C语言经典算法100例.rar,一些C语言常用的基本算法的实例,适合初学者学习

2011-11-24

C语言上机100题无错版,C语言入门必备

南开C语言上机100题无错版.chm,编程注重实践。

2011-11-24

linux命令大集合,非常全的工具书

非常全面的linux命令查阅工具书,并且按命令的用途进行了分类,方便查阅。 分类有文件管理,文件传输,文档编辑,磁盘管理,磁盘维护,网络通讯,系统管理,系统设置,备份压缩,其他,XWindow等,总共316个命令。

2011-11-21

XML入门教程

xml的入门教程,适合初学者 1 XML 简介 2 XML 的用途 3 XML 树结构 4 XML 语法规则 5 XML 元素 6 XML 属性 7 XML 验证 8 XML 验证器 9 XML 浏览器支持 10 查看 XML 文件 11 使用 CSS 显示 XML 12 使用 XSLT 显示 XML 13 XML 解析器 14 XML DOM 15 XML to HTML 16 XMLHttpRequest 对象 17 XML 应用程序 18 XML 命名空间(XML Namespaces) 19 XML CDATA 20 XML 编码 21 XML DOM 高级 22 XML Don't

2011-11-20

linux常用命令源码(ls,cp,chmod,df等一百多个命令)

linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c cut.c date.c dcgen dd.c df.c dircolors.c dircolors.h dircolors.hin dirname.c du.c echo.c env.c expand.c expr.c extract-magic factor.c false.c fmt.c fold.c getlimits.c group-list.c groups.c head.c hostid.c hostname.c id.c install.c join.c kill.c lbracket.c libstdbuf.c link.c ln.c logname.c ls.c ls-dir.c ls-ls.c ls-vdir.c md5sum.c mkdir.c mkfifo.c mknod.c mktemp.c mv.c nice.c nl.c nohup.c nproc.c od.c operand2sig.c paste.c pathchk.c pinky.c pr.c printenv.c printf.c prog-fprintf.c ptx.c pwd.c readlink.c remove.c rm.c rmdir.c runcon.c seq.c setuidgid.c shred.c shuf.c sleep.c sort.c split.c stat.c stdbuf.c stty.c su.c sum.c sync.c tac.c tac-pipe.c tail.c tee.c test.c timeout.c touch.c tr.c true.c truncate.c tsort.c tty.c uname-arch.c uname.c uname-uname.c unexpand.c uniq.c unlink.c uptime.c users.c wc.c whoami.c who.c yes.c

2011-11-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除