自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 [Leetcode] Dynamic Programming

1. Algorithm Analysis1.1 StepsFind the state and choicefor(auto state1: all possible value) { for(auto state2: all possible value) { for ... dp[state1][state2][...] = min/max(choice1, choice2...); }}Define the dp tab...

2021-05-28 05:46:10 120

原创 [LeetCode] Sliding Windows

1. Algorithmn AnalysisCreate a window [left, right) Increasing right edge to expand the window and update the matching results if window big enough, increasing left edge to shrink the window and update result Repeat step 2 and 3, until right edge reac

2021-05-28 05:45:29 135

原创 [LeetCode] Binary Tree Traversal

1. Binary Tree Traversal1.1 Order typesPostorder: left->right->root Preorder: root->left->right Inorder:left->root->right1.2 Definition for a binary tree nodeStruct TreeNode { int val; TreeNode *left; TreeNode *rig

2021-01-17 14:34:43 152

转载 C++ typename 用法

C++ typename 用法目录typename的常见用法对于typename这个关键字,如果你熟悉C++的模板,一定会知道它有这样一种最常见的用法(代码摘自C++ Primer): // implement strcmp-like generic compare function // returns 0 if the values are equal,

2015-03-07 03:05:42 650

翻译 12.2 - Virtual functions

首先看下面的例子class Base{protected: public: const char* GetName() { return "Base"; }}; class Derived: public Base{public: const char* GetName() { return "Derived"; }}; int main(){

2013-06-28 01:47:35 446

翻译 14.3 - Template classes

Templates and container classes首先我们看下面的类class IntArray{private: int m_nLength; int *m_pnData; public: IntArray() { m_nLength = 0; m_pnData = 0; } In

2013-06-19 01:57:45 473

翻译 14.2 - Function template instances

Function template instancesC++编译器并不直接编译template函数。编译器遇到template函数调用后,会复制一份template函数并把占位符类型替换成真正的数据类型。拥有真正数据类型的函数称为function template instance。template // this is the template parameter declarat

2013-06-19 01:13:30 367

翻译 14.1 - Function templates

The need for function templates首先举例你想写一个返回两个数中的最大值,你可以写成这样int max(int nX, int nY){ return (nX > nY) ? nX : nY;}这个函数对于int型的数据可以很好的工作。可以如果以后要处理double型的数据怎么办呢?简单来说,你可以重载这个函数double max

2013-06-19 00:04:58 440

翻译 8.7 - The hidden “this” pointer

首先举个简单的类的例子class Simple{private: int m_nID; public: Simple(int nID) { SetID(nID); } void SetID(int nID) { m_nID = nID; } int GetID() { return m_nID; }};下面是

2013-06-18 13:51:06 418

翻译 11.5 - Inheritance and access specifiers

1. Protected access specifier限定类成员只能被同一个class或derived class的成员函数访问class Base{public: int m_nPublic; // can be accessed by anybodyprivate: int m_nPrivate; // can only be accessed by Base

2013-06-18 03:34:01 707

翻译 8.3 - Public vs private access specifiers

Class和Struct的主要区别之一就是class可以明确的使用access specifier来限制谁能访问它的成员。C++提供了3种access specifier关键字: public, private 和 protected. protected 将在介绍完inheritance后讨论。例1:class Access{ int m_nA; // private by

2013-06-18 01:50:09 601

原创 source insight 添加文件描述头

modify the code of utils.em, which is in the base project of source insight.macro InsertFileHeader(){ szMyName = "author name" hbuf = GetCurrentBuf() szFileName = GetBufName(hbuf)

2013-05-11 03:26:29 843

转载 GDB debug function with args

1.   gdb program      run      set args  [args1] [args2] 2.gdb --args mytest [arg1] [arg2]

2011-10-18 10:17:53 566

转载 GDB debug segmentation fault

1) make sure you have compiled the executable WITH debugging symbols. i.e. the "-g" flag. eggcc -g -o hello hello.cWithout debugging sym

2011-10-18 10:14:04 752

原创 GDB--Text User Interface

这是一个给GDB调试提供一个简单的窗口模式。可以提供源代码窗口,汇编代码窗口,寄存器窗口。不过同时只能显示两个窗口。 a)         `layout src 仅显示源代码窗口。b)         `layout asm 仅显示汇编代码窗口。c)          `layout split 显示源代码和汇编代码窗口。d)         `layout regs

2011-06-22 17:20:00 566

原创 批量查找替换字符串

删除所有Makefile中的-Werror选项 find ./ Makefile -exec grep /-Werror {} /; -exec sed -i s//-Werror//g {} /;

2011-06-13 15:49:00 403

原创 菊花链

在电子电器工程中菊花链代表一种配线方案,例如设备A和设备B用电缆相连,设备B再用电缆和设备C相连,设备C用电缆和设备D相连,在这种连接方法中不会形成网状的拓扑结构,只有相邻的设备之间才能直接通信,例如在上例中设备A是不能和设备C直接通信的,它们必须通过设备B来中转,这种方法同样不会形成环路。因为最后一个设备不会连向第一个设备。这种连线方法能够用来传输电力,数字信号和模拟信号。

2011-06-10 14:58:00 5912

转载 vetored irq

向量中断与非向量中断的区别作者:shi_869160、yanglin1228     推荐向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址,进去了再判断中断标志来识别具体是哪个中断。向量中断实时性好,非向量中断简单     向量中断控制器VIC具有32个中断请求输入,可将其编程分为3类,FIQ,向量IRQ和非向量IRQ。     FIQ(fast inter

2011-06-10 14:51:00 313

原创 Linux的链接脚本分析

init.h 对各种initcall()函数做了详细的定义。这些宏就把对应的初始化函数插入到指定的段中,就像放在链表中一样。等初始化函数运行时会把所有插入在此段中的初始化函数运行一遍。

2011-06-09 15:25:00 393

原创 VMware NAT 连接方式给虚拟机设置固定IP

以VMware 7.1 和 windows 7 为例 1. 开启windows系统的VMware NAT Service服务 2. 虚拟机的上网方式选择为NAT 3. 配置虚拟机网络连接,Edit->Virtual Network Editor      a) 取消DHCP    b) 修改subnet ip段(非必要):我改为192.168.1.0

2011-06-08 21:16:00 2428

转载 ubuntu压缩包命令

.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------------------------------------- .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz

2011-06-06 22:52:00 638

原创 vmware ubuntu 下建立本地SVN服务器

本方法适用于本机或小型局域网代码版本控制。使用svn://协议。如果想使用http://协议则需安装配置apache. 本文还基于ubuntu与windows samba共享服务。 1.安装软件sudo apt-get install subversion  2.创建代码库 svnadmin create repository_name 这条命令会在当前目录下创建名

2011-06-06 20:22:00 1740

原创 添加环境变量

将程序加入环境变量便可利用自动补全来运行此命令,一般有两种方法可以选择 方法1:修改/etc/profile文件 此方法特点是针对系统的所有用户有效 export PATH="$PATH: tool path"  方法2:修改~/.bashrc文件 此方法特点是针对特定用户有效地 export PATH="$PATH: tool path"  

2011-06-06 16:10:00 438

原创 批量删除CVS文件夹

利用find 和 rm 的命令组合 find ./ -name "CVS" | xargs rm -rf  orfind ./ -name "CVS" -exec rm -rf {} /;   两者都可以把find命令查找到的结果删除,其区别简单的说是前者是把find发现的结果一次性传给exec选项,这样当文件数量较多的时候,就可能会出 现“参数太多”之类的错误,相

2011-06-06 14:12:00 1323

转载 windows下doxygen 生成代码文档

1. 软件安装 doxygen: http://www.graphviz.org/Download_windows.phpgraphviz: http://www.stack.nl/~dimitri/doxygen/download.html     

2011-06-06 13:53:00 461

转载 [转]段错误调试方法

我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。下面将就以下的一个存在段错误的程序介绍几种调试方法:

2009-11-10 16:14:00 347

转载 代码补丁相关问题

 关于打补丁的一些问题(译文)   关于打补丁的一些问题 coly译 类unix操作系统有一个很有趣的特性就是源代码级的补丁包。在windows上我们打补丁都是运行一个可执行的程序,然后就可以把补丁打完了,这对于最终用户是非常方便的,但是对我们这些求知欲比较强的Linuxfans来说就有点不过瘾了,因为我们不知道里面是怎么做

2009-11-10 09:46:00 387

转载 [转贴]ARM汇编中的常数8位位图

关于ARM处理器中“8位位图”的理解分析   在ARM处理器的汇编语言中,对指令语法格式中的的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。”对于这句话,我一直很不理解,也一直没有深究(真是一个坏毛病),今天偶尔在网上看到这篇文章才觉得大概明白了,感谢作者的分析。      首先从ARM指令系统的语法格式说起。

2009-09-28 14:25:00 1058

转载 Acrobat 快捷键

一直以来对于快捷键都情有独钟,今天在网上找到了我所喜欢的设置,记录下来。1,使用快捷键 在编辑-首选项-一般,选中"使用加速键访问工具",这就开启了adobe reader的快捷键功能.我最常用的快捷键是v和h,分别是选择工具和手型工具的快捷键.这两个快捷键对于经常性地从pdf文档中copy内容非常有帮助.,改变文档文字和背景颜色打开帮助-辅助工具设置助手,单击下一步,选中"文档文本使用高对比

2009-07-21 09:38:00 2506

原创 头文件的包含

头文件的包含有两种方式 1.#include           此种方式意味着 编译器 去其定义的标准位置查找该头文件。标准位置有编译器规定,其说明文档应有说明。用户也可以修改标准位置和添加新的位置。        对于运行于UNIX上的C编译器而言,标准位置一般是指/user/include目录。 2.#include  "filename"        

2008-11-28 16:40:00 691

翻译 #if

#if /* code to execute if this value is true */#elsif /* code to execute if this value is true */#else/* code to execute otherwise#endif#if checks whether the value is true (in the C and

2008-11-07 11:14:00 320

转载 系统调用和库函数

《UNIX 环境高级编程》一书中如此说:所有操作系统都提供多种服务的入口点,由此程序向系统核请求服务。各种版本的Unix都提供经良好定义的有限数目的入口点,经过这些入口点进入系统核,这些入口点被称之为系统调用(system call),系统调用是我们不能更改的一种Unix特征。Unix版本7提供了约50个系统调用,4 3+BSD提供了约110个,而SVR4则提供了约120个。  系统调用界面总是在

2008-11-06 14:54:00 543

转载 tty是Teletype的缩写(转)

终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机,是由Teletype公司生产的。设备名放在特殊文件目录/dev/下,终端特殊设备文件一般有以下几种: 1.串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的

2008-11-06 09:13:00 441

转载 static和extern

一,static和extern:96NLinux联盟    大工程下我们会碰到很多源文件。96NLinux联盟文件a.c96NLinux联盟static int i; //只在a文件中用96NLinux联盟int j;   //在工程里用96NLinux联盟static void init()         //只在a文件中用96NLinux联盟{96NLinux联盟}96N

2008-10-21 09:53:00 298

转载 void和void指针

1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一

2008-10-16 11:14:00 343

转载 关于驱动程序中的ioctl

一、什么是ioctl      ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:            int ioctl(int fd, ind cmd, …);     其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至

2008-09-05 16:48:00 357

GNU make 项目管理(PDF)

真正的pdf版,不过是英文的。哪位有中文的上传一下啊

2008-07-10

空空如也

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

TA关注的人

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