自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (38)
  • 收藏
  • 关注

原创 程序编写和调试的思考

1. 避免长时间使用调试工具(过度关注细节,无助复杂问题的解决),调试工具是辅助你理解程序状态的一种手段,适合用来分析特定条件下程序运行的状态。2. 将时间用在思考为什么程序会运行到这里,相关状态可以被通过哪些模块,函数改变?3. 多使用ASSERT让异常情况尽早被探测,好的ASSERT就是函数最好的注释。4. 写全判断逻辑,有if就一定要写else。

2016-03-24 10:19:38 811

原创 Lock, semaphore, condition variables and monitors.

Semaphore:    Down operation on a semaphore checks to see if the value is greater than 0, if so, it decrements the value and just continues.    If the value is 0, the process is put to sleep(sleep

2015-03-16 15:55:26 859

原创 理解用户态,内核态

1. 可执行指令集不同:CPU运行在内核态时,可以执行所有CPU指令,访问所有设备文件。2. 可访问虚拟内存范围不同:内核态可以访问进程的所有虚拟内存。3. 用户态要访问内核态的数据时,一般需要通过系统调用访问。    Linux提供的/proc文件系统可以使用户态进程快速访问内核数据而无需CPU切换到内核态。

2015-03-09 10:36:00 495

转载 图解Git

图解Git其他语言: Deutsch English Español Français Italiano 日本語 한국어 Português Русский Slovenčina Tiếng Việt如果图片不能显示,试试非SVG版此页图解git中的最常用命令。如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻。 如果你想知道这个站点怎样产生,请前往Git

2015-02-09 15:09:32 566

转载 make 并行编译结果的串行输出

Descrambling Parallel Build LogsBy Eric Melski - March 28, 2013Summary:One of GNU make's many features allows you to shorten build times by running more than one comm

2015-02-03 16:38:51 928

原创 理解Linux重定向

1. Linux中执行open操作,打开一个文件时,会在进程文件描述表中新添加一项(文件描述符id + 指向内核文件描述表项的指针)。   文件描述符表   ------------fd0 0   | p0 -------------> 文件表0 ---------> vnode0   ------------fd1 1   | p1 -------------> 文件

2015-02-02 12:31:34 466

原创 创建GObject子类的基本步骤

创建GObject子类的基本步骤:在 .h 文件中包含 glib-object.h;#include 在 .h 文件中构建实例结构体与类结构体,并分别将 GObject 类的实例结构体与类结构体置于成员之首typedef struct _ProjectObject { GObject parent_instance; //first el

2014-12-29 14:32:46 731

转载 Understanding Big and Little Endian Byte Order

Understanding Big and Little Endian Byte OrderProblems with byte order are frustrating, and I want to spare you the grief I experienced. Here's the key:Problem: Computers speak different langu

2014-03-19 14:57:28 936

原创 编译libjpeg库,jpeg-6b编译错误

make: ./libtool: Command not foundmake: *** [jcapimin.lo] Error 127错误分析:由于libtool版本过低导致的,重新下载新版本的libtool以默认方式安装,执行以下命令:./configuremakemake install然后进入jpeg-6b的源码目录,然后执行以下步骤,切记!

2010-04-30 10:53:00 3028

转载 考查嵌入式C开发人员的最好的16道题

考查一个初级嵌入式系统开发人员的C基本功,附有答案题目由资深嵌入式系统专家拟定,目的是考查入门级的嵌入式软件开发人员, Gavin Shaw提供详细解答. 编者按:非常基本关于C语言的问题,一个信息类(计算机,资讯工程,电子工程, 通信工程)专业的本科毕业生应该达到的水平,

2010-03-23 09:58:00 834

原创 valgrind Fatal error at startup: a function redirection

在ppc的板子上运行valgrind, 程序出现valgrind Fatal error at startup: a function redirection的错误提示。查找了下,发现是因为libc或ld.so库进行过strip操作。直接安装一个debug版本的库就可以了。sudo apt-get install libc6-dbg 

2010-03-06 15:09:00 4510

原创 Undefined reference to vtable 'xxx'

新添加一个类,定义了构造函数和析构函数。其中析构函数只申明没有定义。链接时遇到如下的问题:../local_gui/.libs/lib_local_gui.a(monthcalendar.o): In function `monthcalendar:localgui/monthcalendar.cpp:208: undefined reference to `vtable for m

2010-01-06 14:00:00 1862

转载 vi常用命令和vimrc配置

·一个简单编译器(编译、执行常见程序) #vi ~/.vimrc "定义F9来编译、执行程序 map :call ProgCompileRun() func ProgCompileRun() "s***e the current file first :w "取得程序后缀名 如j***a php pl py let ext = expand("%:e") "编译J**

2009-12-29 16:08:00 1729

原创 Debian 中安装minigui 1.3.3

一. 下载文件    libminigui-1.3.3.tar.gz    mg-samples-1.3.0.tar.gz (示例)    minigui-res-1.3.3.tar.gz(资源)    qvfb-1.1.tar.gz (virtual frame buffer)二. 编译源码    [注]: 1. 由于安装实例程序时,将出现/usr/local

2009-12-28 13:44:00 2518

转载 解决chm打不开的问题

 最近遇到了一个奇怪的问题就是,将本机的chm文件传到(用的是FyUpload)空间后下载就出现无法打开链接。百思不得其解,怀疑是不是文件破损了,然后看了下文件大小,没错啊。。于是就到网上搜索了以下,果然也有人遇到这样的问题,解决办法:点击文件,右键--属性--解除锁定即可!=============如果还没有解决?=================如果你的Windows XP不能打开chm格式的

2009-11-01 11:13:00 2083

转载 ubuntu/debian 源

Ubuntu和debian都有很多的源和镜像,也有不少的国内镜像。一些爱好者为了寻找镜像已经自己“憋”出来了一些pl脚本用于寻找最快的镜像。实际上debian的爱好者早准备了更厉害的武器等你来用,就是apt-spy(是间谍还是小偷?哈哈)早就想写出来了。切记先备份你机器里的源列表。误区:通常大家都在交流使用国内的哪个源速度比较快,实际上很多国外源的访问速度是国内的很多倍。记得曾经用过国

2009-09-27 12:35:00 503

原创 minigui界面生成工具的一种简单实现方式,轻松实现Windows/linux minigui 跨平台界面编程

前一段时间在Linux下封装了一个简单的图形库,封装时主要借鉴minigui 1.33的源码。弄完了之后发现编程很是繁琐,怀念在Windows下用鼠标拖拽的岁月。看着minigui和windows很相似的代码,于是有了下面的想法:1. 利用VC设计好窗口界面,进行可视操作,对生产的资源文件进行解析2. 解析获取的信息,控件类型、标题、窗口风格、坐标、扩展风格3. 对获取的信息进行简单的

2009-09-23 10:20:00 2019 3

原创 二维字符数组与char** 关系

数组和指针联系很紧密,数组名的含义至少有两种含义:      1. 对应数据中的第一个元素的地址,      2. sizeof为数组大小,而不是指针大小注:《c专家编程》中有详细介绍       指针使用经验总结.pdf 中也有相关内容 编程中,需要向某个函数传递一个字符串数组。测试代码如下:#include #define M 2#define N 100

2009-08-07 13:40:00 9062 1

原创 解决undefined reference 问题的方法

最近把开发板上的程序移植到目标板上,编译通过之后。链接时,一堆的... undefined reference ...       经过大半天的分析,终于都搞定了。在这里做下总结,有不对的地方还请多多指教 -------------------------------------------------引起此类问题的原因主要有以下几类: 1.      缺少某个源

2009-08-05 16:02:00 4211 1

原创 Debian下搭建GTK+开发环境

  1. 安装gtk及相关开发包: sudo apt-get install gnome-core-develsudo apt-get install libglib2.0-doc libgtk2.0-docsudo apt-get install devhelp  sudo apt-get install glade-gnome glade-common

2009-05-15 10:44:00 2056

原创 windows xp 下exe,msi文件不能安装的解决办法

 一、解决msi文件不能安装,提示信息"WINDOWS INSTALLER无法启动"1. 开始-运行(win+r) 打开里面填写 msiexec /unreg  回车。2. 然后开始-运行 打开里面填写 msiexec /regserver 回车。二、解决不能安装exe文件的办法打开“我的电脑”,进入菜单“工具”→“文件夹选项”→“文件类型”,这时在现有的文件类型中找不到扩展名为exe的文件类

2009-05-05 21:42:00 4837

Build_Your_Own_Angularjs

Build_Your_Own_Angularjs

2016-09-29

Mastering web application development with angularjs

Mastering_Web_Application_Development_with_AngularJS. 迄今为止读过的最好的一本AngularJS书,很多概念讲述的很透彻。

2016-05-02

AngularJS Web Application Development cookbook

AngularJS Web Application Development cookbook

2016-03-08

Learn Objective-C On The Mac and SourceCode

objective-c 基础教程 英文版 Learn Objective-C On The Mac SourceCode

2015-08-25

FREE BSD操作系统设计与实现 清晰 中文版

FREE BSD操作系统设计与实现 清晰 中文版

2011-07-29

Essential Linux Device Drivers pdf

Venkateswaran Essential Linux Device Drivers(Prentice,2008).pdf

2011-02-23

LINUX设备驱动程序源码(LDD源码) 第三版

LINUX设备驱动程序源码(LDD源码)

2011-02-23

深入Linux内核架构 英文版 带书签 pdf 1371页 Professional Linux Kernel Architecture

(zz) http://d.download.csdn.net/down/2453825/arkofnoach 全球开源社区集体智慧结晶,领略Linux内核的绝美风光。 这本书叙述深入浅出,内容全面详尽,是学习掌握Linxu所有内在工作机理最理想的参考书之一。 众所周知,linux操作系统的源代码复杂、文档少,对程序员的要求高,要想看懂这些代码并不是一件容易事。本书结合内核版本2.6.24源代码中最关键的部分,深入讨论linux内核的概念、结构和实现。具体包括进程管理和调度、虚拟内存、进程间通信、设备驱动程序、虚拟文件系统、网络、时间管理、数据同步等方面的内容。本书引导你阅读内核源代码,熟悉linux所有的内在工作机理,充分展现linux系统的魅力。 本书适合linux的系统编程人员、系统管理者以及linux爱好者学习使用。 *************************************************************** 请注意: 下载完,评论的同时,请点击评论框上方的五角星(共5个五角星),这样你的被扣的积分就可以返还了。 如果只评论,不点击小五角星,积分不会返还。 一定要先下载完,再评论。如果先评论后下载,或者在下载的过程中评论,积分同样不会返还。 *************************************************************** 更多linux、ARM和C语言资源请参考: http://blog.csdn.net/arkofnoach/archive/2010/10/23/5960560.aspx

2011-01-14

resample-1.2.tar.gz

音频采样率转换的source,是利用的bandlimited interpolation算法实现

2010-12-30

嵌入式Linux内存使用与性能优化

嵌入式Linux内存使用与性能优化 不错的入门书籍,涉及内容比较多。

2010-10-26

SecureCRT_6.5 注册机 破解说明书

SecureCRT_6.5 英文版 + 注册机 + 破解说明书 1. 安装程序 2. 将SecureCRT-6.5-kg.exe拷贝到安装目录下 3. 运行SecureCRT-6.5-kg.exe, 点击Patch按钮。弹出的警告对话框中选择“是” 4. 输入用户名和生成的key,详细请参考破解说明书

2010-06-30

自己动手写操作系统(包括源码)

自己动手写操作系统(包括源码),对操作系统感兴趣的可以看看。

2010-05-25

c++算法-图算法(第三版)

c++算法-图算法(第三版) 中文版 pdf

2010-05-13

构建嵌入式Linux系统(中文PDF版)

构建嵌入式Linux系统(中文PDF版).pdf

2010-04-06

learning opencv

learning opencv pdf 英文版 学习Intel的开源图像视频库的资料

2010-01-26

泛型编程与stl 中文清晰版

许多程序员可能并不知道,C++不仅是一个面向对象程序语言,它还适用于泛型编程(generic programming)。这项技术可以大大增强你的能力,协助你写出高效率并可重复运用的软件组件(software components)。 本书由知名的C++专家Matthew H.Austern执笔,引导你进入泛型编程思维模型,并将你带往此一模型的最重要成品:C++ Standard Template Library(STL)。本书揭示STL的奥秘,告诉你STL不仅仅是一组方便运用的容器类(container classes)。对于泛型组件和可交互作用的组件而言,STL是一个具备扩充能力的框架(framework)。 本书阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、function Objects。循此路线,你可以把STL想像为一个由concepts(而非明确之functions或classes)组成的程序库。你将学习其正式结构并因此获得其潜在威力所带采的完整优势。 作者简介 Matthew H.Austern:拥有博士学位,曾于MIT和UC Berkeley做研究。现任职于Silicon Graphics编译器团队,是SGI STL的主要作者。他是Dr.Dobb's Journal和C++Report两本刊物的撰稿人,并主持newsgroup comp.std.c++,同时也是ISO/ANSI C++标准委员会的一位活跃成员。

2009-08-10

简单易懂的指针经验总结

很好的指针使用经验,简单易懂,对深入理解指针的相关知识很有帮助。

2009-08-08

Linux系统分析与高级编程技术

Linux系统分析与高级编程技术 了解linux系统和应用编程的入门书籍,感觉还不错

2009-07-27

linux programming by example

linux programming by example 英文版

2009-07-24

深度探索C++对象模型(中&&英文版)

inside c++ object Model && JJ.Hou中译本 《深度探索C++对象模型》

2009-07-01

深入理解计算机系统(2-2) pdf

深入理解计算机系统 中文版 part2 共两部分 Randal E.Bryant David O'Hallaron

2009-03-11

深入理解计算机系统(2-1) pdf

深入理解计算机系统 中文版 part1 共两个部分

2009-03-11

C语言实用全书 中文版

C语言实用全书 中文版 pdf

2009-03-10

Unix环境高级编程 中文版

unix 高级编程 中文版 pdf格式

2009-03-10

GTK 2.0中文教程 HTML格式

版本号: V_0.1.0  2002年6月25日 本文是有关通过 C 语言接口使用 GTK (the GIMP Toolkit) 的教程。 -------------------------------------------------------------------------------- Table of Contents 中文版说明 简介 从这里开始 用 GTK 来写 Hello World 编译 Hello World 程序 信号和回调函数的原理 事件 Hello World 详解 继续 数据类型 深入探索信号处理函数 改进了的 Hello World 组装构件 组装盒的原理 盒的细节 组装示范程序 用表组装 表组装示例 构件概述 类型转换 构件的组织 无窗口构件 按钮构件 一般按钮 Normal Buttons 开关按钮 Toggle Buttons 复选按钮 Check Buttons 单选按钮 Radio Buttons 调整对象 Adjustments 创建一个调整对象 轻松使用调整对象 “调整对象”的内部机制 范围构件 Range Widgets 滚动条构件 Scrollbar Widgets 比例构件 Scale Widgets 创建一个比例构件 函数和信号(至少讲了函数) 常用的范围函数 设置更新方式 获得和设置调整对象 键盘和鼠标绑定 示例 杂项构件 标签 Labels 箭头 Arrows 工具提示对象 The Tooltips Object 进度条 Progress Bars 对话框 Dialogs 标尺 Rulers 状态栏 Statusbars 文本输入构件 Text Entries 微调按钮 Spin Buttons 组合框 Combo Box 日历 Calendar 颜色选择 Color Selection 文件选择 File Selections 容器构件 Container Widgets 事件盒 The EventBox 对齐构件 The Alignment widget 固定容器 Fixed Container 布局容器 Layout Container 框架 Frames 比例框架 Aspect Frames 分栏窗口构件 Paned Window Widgets 视角 Viewports 滚动窗口 Scrolled Windows 按钮盒 Button Boxes 工具栏 Toolbar 笔记本 Notebooks 菜单构件 手工创建菜单 手工菜单示例 使用套件 套件示例 无文档构件 快捷标签 Accel Label 选项菜单 Option Menu 菜单项 Menu Items 复选菜单项 Check Menu Item 单选菜单项 Radio Menu Item 分隔菜单项 Separator Menu Item 分离菜单项 Tearoff Menu Item 曲线图 Curves 绘图区 Drawing Area 字体选择对话框 Font Selection Dialog 消息对话框 Message Dialog Gamma 曲线图 图像 Image 插头和插座 Plugs and Sockets 树视区 Tree View 文本视区 Text View 设置构件的属性 超时、IO 和 Idle 函数 超时 Timeouts 监控IO Idle 函数 高级事件和信号处理 信号函数 连接和断开信号处理函数 阻塞和反阻塞信号处理函数 发出和停止信号 信号的发射和传播 操作选中区 概述 获取选中区信息 提供选中区 拖放 概述 属性 函数 设置源构件 源构件上的信号 设置目的构件 目的构件上的信号 GLib 定义 双向链表 单向链表 存储管理 计时器 字符串处理 实用程序和错误处理函数 GTK 的 rc 文件 rc 文件的功能 GTK rc 文件的格式 rc 文件示例 编写你自己的构件 概述 一个构件的剖析 创建一个复合构件 介绍 选择一个父类 头文件 _get_type() 函数 _class_init() 函数 _init() 函数 其余的... 从头创建构件 介绍 在屏幕上显示构件 表盘构件的原形 主体 gtk_dial_realize() 大小磋商 gtk_dial_expose() 事件处理 可能的增强 深入的学习 涂鸦板,一个简单的绘图程序 概述 事件处理 绘图区构件和绘图 添加XInput支持 允许扩展设备信息 使用扩展设备信息 得到更多关于设备的信息 进一步的讲解 编写 GTK 应用程序的技巧 投稿 鸣谢 教程的版权和许可声明 GTK 信号 GtkObject GtkWidget GtkData GtkContainer GtkCalendar GtkEditable GtkNotebook GtkList GtkMenuShell GtkToolbar GtkButton GtkItem GtkWindow GtkHandleBox GtkToggleButton GtkMenuItem GtkCheckMenuItem GtkInputDialog GtkColorSelection GtkStatusBar GtkCurve GtkAdjustment GDK 事件类型 示例程序代码 Tictactoe tictactoe.h tictactoe.c ttt_test.c GtkDial gtkdial.h gtkdial.c dial_test.c Scribble scribble-simple.c scribble-xinput.c 术语表

2008-10-27

Window SDK 编程

Windows SDK入门手册 熟悉Windows SDK编程的资料,希望对大家有帮助

2008-04-01

空空如也

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

TA关注的人

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