自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小田的专栏

算法,Linux,编程语言,设计模式,笔试面试

  • 博客(662)
  • 资源 (7)
  • 收藏
  • 关注

原创 【剑指Offer】鸟瞰50题之1-10题

面试题1赋值运算符函数  为下面类型添加赋值运算符class CMyString{public: CMyString(char *pData = NULL); CMyString(const CMyString &str); ~CMyString(void);private: char *m_pData;};答案如下:CMyString& CMyString::

2014-07-08 00:23:08 1861

转载 【C/C++】static 的思考

static用法小结static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储

2014-06-24 23:38:04 1182 1

原创 【内存类操作】浅谈内存拷贝异常

结合本人在实际项目中所积累的经验,以及曾经犯过的错误,堆内存操作类函数做一个简单的剖析,抛砖引玉,欢迎大家吐槽。    首先,讲一下内存使用异常发生的几种场景。                1、野指针的使用,使用已经释放的指针,如果向野指针中写内容,就极有可能导致设备重启或任务挂死。因为,正在运行的任务的地址被意外的改写。                     【避免策略】函数入参

2014-05-21 23:24:22 3533

原创 【Linux】Ubuntu12.10 root用户登录设置

一,root登录问题:       ubuntu12.10默认不允许root用户登录,在登录窗口只能看到普通用户和访客登录。            解决方案:                  1)切换到超级用户模式                        (前提要设置超级用户的密码:sudo passwd root)

2013-04-07 19:28:38 3488 1

原创 【Linux】解决ubuntu one(软件中心)安装deb文件的问题

问题:安装deb文件时候,需要自动下载一些相关依赖,而有些公司,需要代理上网,而ubuntu one 中没有配置代理的选项。解决:             1)关闭 新立得 软件更新包        2)dpkg -i  test.deb              会列出一些 依赖包没有被安装,这样就可以通过新立得或者终端安装没有的依赖包       3)当所有依赖包安装完毕之

2013-04-07 15:26:13 2002

原创 【USB】USB 关键概念简介

一,USB接口优点        简单、速度快、支持即插即用和热插拔二,USB通信        USB通信中居于核心地位的是主机(Host),常见的USB主机是PC机。任何一次USB的数据传输都必须由主机发起和控制;所有的USB外设都只能和主机建立连接;任何二个外设之间或是二个主机之间都无法直接通信。所以,USB主机和USB设备的功能是不同的。          USB主机的功能

2013-04-04 22:52:26 2859

原创 【Android】联通性 -- USB从属模式

本文译自:http://developer.android.com/guide/topics/connectivity/usb/accessory.html         USB的从属模式允许用户连接到专门给Android设备设计的USB主机硬件。这些附件必须遵循在Android从属模式开发工具文档中描述的Android从属模式协议。这个协议允许Android设备即使不作为USB主机依然能够

2013-03-30 12:16:15 2614

原创 【Android】联通性 -- USB主机模式

本文译自:http://developer.android.com/guide/topics/connectivity/usb/host.html当你的Android设备在USB主机模式中时,它作为USB主机给从属设备供电,并会列举被连接的USB设备。USB主机模式在Android3.1以后开始被支持。一,API概要        在开始之前,重要的是要理解工作中所需要的类。下表介绍了

2013-03-30 12:00:16 3978 1

原创 【Android】应用获取用户最高权限

要让Android应用获得Root权限,首先Android设备必须已经获得Root权限。应用获取Root权限的原理:让应用的代码执行目录获取最高权限。在Linux中通过chmod 777 [代码执行目录]代码如下:/** * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限) * * @return 应用程序是/否获取Root权限 */public st

2013-03-15 17:13:05 4599

原创 【RTP】jrtplib 3.9.1 arm 交叉编译

目前jrtplib的版本已经更新到了3.9.1,现在用的自动编译脚本已经被作者改成了cmake。由于最近需要在armv5的板子下开发视频应用,因此准备把该库移植过去。转载请注明作者:jwybobo2007。移植前先在baidu和google上搜索了下,没有找到有关jrtplib 3.9.1的交叉编译方法,能找到的就是3.7.1版本的编译方式,那时候直接是用的configure,make来编译的。既

2013-03-10 23:40:28 2716

原创 【ALSA】关于alsa的总结

一. alsa展现的三层结构:   (1)audio interface:             audio interface就是声卡,它含有hardware buffer,注意,这个hardware buffer是在声卡里面,不是内存。  (2)computer:            这个指的是计算机的内核和驱动(驱动由alsa提供),当(1)的audio interfac

2013-03-10 23:34:43 3083

原创 【C和指针】不定参数

一,不定参数实例#include "stdio.h"/*函数参数是以数据结构"栈"的形式存取,从右至左入栈.eg:*/void fun(int a, ...){ int *temp =&a; temp++; int i; for (i = 0; i < a; ++i) { printf("%d\n",*temp); temp++; }} int main

2013-01-30 10:40:57 1799

原创 【C和指针】#if 0 #end if

一,“#if   0/  #if 1     ...     #endif”   的作用           1) code中定义的是一些调试版本的代码,此时code完全被编译器忽略。如果想让code生效,只需把#if 0改成#if 1           2) #if 0还有一个重要的用途就是用来当成注释,如果你想要注释的程序很长,这个时候#if 0是最好的,保证不会犯错误

2013-01-25 00:02:49 3770 3

原创 【VNC】YCrCb - YUV - RGB

一,引言        YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频信号同时传输)。       "Y"表示明亮度(Lumina nce或Luma),也就是灰阶值;是个基带信号。而"U"和"V"表示的则是色

2013-01-15 23:46:41 4139 1

原创 【Android】Android模拟器下截屏及格式转换

一,模拟器信息        Android 模拟器手机的色深是16bit, 即R/G/B=5/6/5. 故需要一些特殊处理才能获得其屏幕图像。        我们可以adb登录进入Android模拟器,先dump出/dev/fb0的内容,然后将dump出的文件拷贝到PC(ubuntu)上用convert命令进行处理。          通过程序获取模拟器FrameBuffer

2013-01-15 09:58:56 3483 1

原创 【Linux】FrameBuffer操作入门

所有的这些操作,都是在控制台界面下,root登录。一,先变一个魔法         $ cat /dev/fb0 > sreensnap      /*获取一屏的数据*/           $ clear                                         /*清楚屏幕的输出*/         $ cat sreensnap > /dev/f

2013-01-14 23:16:40 20273 3

原创 【Android】Android 手机连接 Win7 蓝牙

一,连接步骤            1、双击蓝牙按钮,如下图:                                             2、添加设备                              3、打开android手机的蓝牙以及设备可见性,设置-》无限与网络-》蓝牙,设置-》无限与网络-》蓝牙设置-》设备可见性

2013-01-04 21:35:52 3435

原创 【Android】源码编译

一,问题解决 参考         1)/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够                 解决:chmod a+x prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc

2012-12-30 23:04:02 3578

原创 【Linux 驱动】第十一章 内核的数据类型

一,内核数据数据类型        主要分为: 标准 C 语言类型、确定大小的类型和特定内核对象的类型。         1)标准 C 语言类型               当需要"一个2字节填充符"或"用一个4字节字串来代表某个东西",就不能使用标准C语言类型,因为在不同的体系结构,C 语言的数据类型所占的空间大小不同。例如:long 在32位系统和64位系统中占用的字节数不同。

2012-12-09 22:17:07 1490

原创 【Windows核心编程】Windows核心编程 -- 线程基础

一,线程       与前面介绍的进程一样,线程也有两部分组成:                   1)一个线程内核对象,操作系统用它来管理线程。内核对象中还存储了线程的各种统计信息,包括挂起计数、退出代码等,以便于系统对线程的管理。内核对象中有一个CONTEXT结构,这个结构中存储了线程上一次执行的时候CPU寄存器的状态。                   2)一个线程栈,用于维

2012-12-03 00:15:12 2502

原创 【C陷阱和缺陷】可移植性缺陷

一,应对C语言标准变更 编译器并不是都实现了C标准(ANSI),不同的C语言实现会有细微的差别。 使用最新的C特性会更容易编写而且不容易出错,但可能造成在某些早期的编译器上无法工作,失去部分客户。为了提高可移植性,要在新旧用法之间进行取舍。二,标示符名称的改变         某些C语言的实现把一个标识符中处出现的所有字符作为有效字符处理,而有的C实现会自动

2012-11-28 23:02:25 1728

原创 【C陷阱和缺陷】预处理器

一,概念              宏只是对程序的文本起作用,提供了一种对组成程序的字符进行变换的方式,而并不作用域程序中的对象,因此可以使一段看上去完全不合法的代码变成一个有效的程序,也能使一段看上去无害的代码编程一个怪物。二,细节        1)宏定义中的空格 (注意带参数的宏)              如果函数无参,则调用时只需在函数名后面加一对括号,如果一个宏不带参数

2012-11-28 22:27:21 1590

原创 【Alsa】播放声音和录音详细流程

一,前言:        linux中,无论是oss还是alsa体系,录音和放音的数据流必须分析清楚。先分析alsa驱动层,然后关联到alsa库层和应用层。二,链接分析:       1)链路一        usr/src/linux-source-3.0.0/sound/core/pcm_native.c文件中注册部分.mmap = snd_pcm_mmap调用snd_pc

2012-11-24 23:30:14 10272 1

原创 【Windows核心编程】Windows核心编程 -- 作业

场景: 用VS创建一个c++项目时候,通常生成一个.exe程序,而.exe程序可能生成更多进程。如果用户希望提前停止构建进程,则VS必须想法终止.exe及所有子进程。 一,作业          Windows提供了一个作业(job)内核对象,它允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。最好将作业对象想象成一个进程容器。但是创建只包含一个进程的作业同样非常有用

2012-11-22 23:34:22 1848 1

原创 【C陷阱和缺陷】库函数

一,返回整数的getchar函数         我们来看下面的程序:#include "stdio.h"void main(){ char c; while ( (c = getchar()) != EOF ) { putchar( c ); }}          看起来这段程序应该把它的标准输入拷贝到输出,实际运行情况并非

2012-11-22 22:58:35 1329

原创 【WinSocket】WinSocket 之TCP示例

一,TCP通信过程服务端:       socket( ) //定义socket       bind( ) //绑定本地地址和端口号       listen( ) //监听客户端请求       accept( ) //接收客户端请求       recv( ) //接收客户端数据       closesocket( )客户端:       socket(

2012-11-19 00:23:50 2346

原创 【WinSocket】WinSocket 函数总结 及 常用函数精析

一,函数根据功能的不同可以分为如下几类:       (1) 套接字函数:此类函数包括socket(),bind(),getpeername(),getsockname()和closesocket(),它们主要完成创建,关闭套接字功能,以及对套接字命名与名字获取。       (2) 网络连接函数:此类函数包括listen(),accept(),connect()和shutdown(),它

2012-11-18 23:56:04 3226

原创 【WinSocket】WinSocket 编程入门【精华】

一,WIN32平台上的WINSOCK编程都要经过下列步骤:    定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载WINSOCK库->释放资源二,WINSOCK   C/S的建立过程:     服务器                         客户端_____________________

2012-11-18 21:55:41 1836

原创 【C陷阱和缺陷】连接

一,概念         连接器的作用在于把有编译器或汇编器生成的若干个目标模块,整合成一个被称为载入模块或可执行文件的实体,该实体能够被操作系统直接执行。其中,某些模块式直接作为输入提供给连接器的;而另外一些目标木块则是根据连接过程的需要,从包括有类型printf函数的库文件中取得的。         二,连接过程问题的根源        C程序 - > 预处理成demo.i -

2012-11-18 00:56:52 1442

原创 【Linux&音频】Alsa音频编程【精华】

前序:这里了解一下各个参数的含义以及一些基本概念。     样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。    通道数(channel):该参数为1表示单声道,2则是立体声。    桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积。    采样率(rate):每秒钟采样次数,该次数是针对桢而言。

2012-11-16 22:27:37 10240 5

原创 【C陷阱和缺陷】语义缺陷

一,指针和数组         1) C语言中只有一维数组,而且数组的大小必须在编译期就作为一个常数确定下来         2) 对于一个数组,我们只能够做两件事:确定该数组的大小,以及获得指向该数组下标为0的元素的指针.例子1:        int a[3];                sizeof(a) = 12   结果是整个数组a的大小,而不是指向数据a的元素的

2012-11-16 00:09:04 1637

原创 【音频】音频编程中常见的概念

一,什么是声音?          能量波,有频率有振幅,频率高低就是音调,振幅大小就是音量;          采样率是对频率采样,采样精度是对幅度采样          人耳能听到的频率范围是200-20KHz,二,什么是CODEC?          在声卡上往往可以找到一颗或者2颗甚至3颗4面有引脚的正方形芯片,面积一般为0.5-1.0平方厘米。这就是CODEC。COD

2012-11-15 22:31:34 1833

原创 【Windows核心编程】Windows核心编程 -- 进程(示例:枚举进程)

枚举进程      每一个应用程序实例在运行起来后都会在当前系统下产生一个进程,大多数应用程序均拥有可视界面,用户可以通过标题栏上的关闭按钮关闭程序。但是也有为数不少的在后台运行的程序是没有可视界面的,对于这类应用程序用户只能通过CTRL+ALT+DEL热键呼出"关闭程序"对话框显示出当前系统进程列表,从中可以结束指定的任务。显然,该功能在一些系统监控类软件中还是非常必需的,      其

2012-11-13 20:39:16 1546

原创 【Windows 核心编程】Windows 核心编程 -- 进程

一,进程概念:        一般将进程定义成一个正在运行的程序的实例,它由以下两部分构成:              1)一个内核对象,操作系统用它来管理进程。内核对象也是系统保留进程统计信息的地方;              2)一个地址空间。其中包含所有可执行文件或DLL模块的代码和数据。此外它还包括动态内存分配,比如线程堆栈和堆的分配。        进程是有"惰性"的。进

2012-11-13 20:37:40 1920

原创 【Windows 核心编程】Windows 核心编程 -- 内核对象

一,对象和句柄         1)对象:是静态定义的对象类型的单个运行时实例。对象类型包括系统定义的数据类型,在数据类型实例上的操作的函数以及一组对象属性集。             对象为完成下列四种重要的操作系统任务提供了方便的方法:                        为系统资源提供可读的名字;                         在进程间共享资源和数

2012-11-12 22:28:03 1203

原创 【Windows 核心编程】Windows 核心编程 -- 错误处理

一,常见的Windows函数返回值类型         1)VOID:这个函数不可能失败,极少数Windows函数的返回值类型为VOID。                      VOID ExitProcess(UINT uExitCode);         2)BOOL:如果函数失败,返回值为0;否则,返回值是一个非0值。应避免测试返回值是否为TRUE,应该检查是否

2012-11-12 10:51:35 1610

原创 【系统运维】wubi双系统启动问题:cannot find GRLDR in all devices

一,问题 本文旨在给出在ubuntu启动时遇到以下问题的解决方法。不需重装系统,几分钟内可以搞定。try(hd0,0):ntfs5:no wubildr try(hd0,1):ntfs5:no wubildr try(hd0,2):extended: try(hd0,3):ntfs5:no wubildr try(hd0,4):ntfs5:no wubildr tr

2012-11-11 00:38:59 2120

原创 【C陷阱和缺陷】词法缺陷和语法缺陷

第一章:词法陷阱     1)词法分析器:编译器中负责将程序分解成一个一个符号的部分      2)= 不同于 ==           在循环语句中如果出现 = 会发出警告(waring)。           例:先将y赋值给x,然后判断是否为0。为了避免警告可以将 if(x=y)   fun();  改成  if( (x=y) !=0)  fun();     3)&和|

2012-11-11 00:37:16 1821

原创 【Windows核心编程】Windows常见数据类型

一,常见数据类型  WORD:                16位无符号整形数据  DWORD:             32位无符号整型数据(DWORD32)  DWORD64:         64位无符号整型数据  INT:                       32位有符号整型数据类型  INT_PTR:             指向INT数据类型的指针类型

2012-11-08 22:58:01 9708 1

原创 【音频】Wav格式文件详解

一,Windows支持两种RIFF(Resource Interchange File Format,“资源交互文件格式”)格式的音频文件        MIDI的RMID文件和波形音频文件格式WAVE文件        在计算机领域最常用的数字化声音文件格式是后者,它是微软专门为Windows系统定义的波形文件格式(Waveform Audio),由于其扩展名为"*.wav",因而该类文

2012-11-05 22:08:38 3225

C++ 11 新特性 脑图 讲解C++ 面试

C++ 11 新特性 脑图 讲解C++ 面试

2024-02-19

libconio-1.0.0.tar.gz

conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

2012-05-21

算法艺术与信息学竞赛

算法艺术与信息学竞赛

2011-12-13

实用算法的分析与程序设计

实用算法的分析与程序设计

2011-12-13

android sdk

android sdk android sdk android sdk android sdk

2011-09-08

确定系统版本确定系统版本

确定系统版本确定系统版本确定系统版本确定系统版本确定系统版本确定系统版本确定系统版本确定系统版本确定系统版本确定系统版本

2009-09-30

空空如也

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

TA关注的人

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