- 博客(23)
- 资源 (4)
- 收藏
- 关注
转载 二叉树的非递归遍历:先根遍历、中根遍历、后根遍历
本文转自https://blog.csdn.net/weixin_40170902/article/details/80732947二叉树的非递归遍历二叉树的三种遍历方式也可以通过非递归的方法借助栈来实现。 通过控制节点的出栈和入栈先后顺序来实现对树的不同方式的遍历。#include <string>#include <stdio.h>...
2019-04-08 14:16:09 1235
转载 C++ ofstream和ifstream详细用法
转自 http://soft.chinabyte.com/database/460/11433960.shtmlofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出
2016-05-01 12:10:19 622
转载 socket进程间通信
转自 http://blog.csdn.net/lanyang123456/article/details/40299623socket在主机间和进程间使用,方法类似,主要区别是进程间通信使用的是sockaddr_un,而主机间的通信使用的是sockadd_in。每个套接字都有其自己的地址格式,对于AF_UNIX域套接字来说,它的地址由结构sockaddr_un来描述,
2016-03-31 18:23:39 595
转载 linux c语言 select函数用法
转自 http://www.cnblogs.com/moonvan/archive/2012/05/26/2518881.htmlSelect在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行
2016-03-31 18:21:47 487
转载 SCRUM框架包括3个角色、3个工件、5个活动、5个价值
转自http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.htmlSCRUM 是一个用于开发和维持复杂产品的框架Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议
2016-01-03 22:01:53 20031
转载 C/C++堆栈指引(X86)
转自 http://www.cnblogs.com/Binhua-Liu/archive/2010/08/24/1803095.html
2014-11-16 23:23:53 665
转载 Python装饰器学习
这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。第一步:最简单的函数,准备附加额外功能12345678# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次''' def myfunc():
2014-10-29 23:42:18 562
转载 PYTHON 函数装饰器
装饰器其实也就是一个函数,一个用来包装函数的函数,装饰器在函数申明完成的时候被调用,调用之后申明的函数被换成一个被装饰器装饰过后的函数。
2014-10-29 23:26:11 400
转载 信号量与PV操作
在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:P(S):①将信号量S的值减1,即S=S-1;②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S):①将信号量S的值加1,即S=S+1;②如果S>0,则该进程继续执行;否则释放队列中第一
2014-10-26 19:21:43 552
转载 信号量与锁
信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信号
2014-10-26 16:15:37 1109
转载 Python使用struct处理二进制
有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构
2014-10-26 00:14:42 423
转载 字符编码笔记:ASCII,Unicode和UTF-8
转载自: http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋
2014-09-13 21:02:52 474
转载 管道创建示例程序
http://bbs.csdn.net/topics/390250043#include "stdafx.h"#include #include #define SEND_BUFF_SIZE 1024//实现去除执行结果中的 命令字符串+"\n"void print(char *cmdstr){while(*((char*)c
2014-09-11 23:58:18 663
转载 钩子函数
钩子,几乎所有的键盘监控程序都使用钩子机制来捕获系统的击键信息。大家知道,在DOS操作系统下,如果要截获某种系统功能,可以在编程中采取截获中断的办法,比如要获取击键信息,可以使用9号中断调用,要获取应用程序对文件操作功能的调用可以截获21号中断。DOS下截获中断的方法是这样的随意和方便,不论是驱动程序还是应用程序都可以操作,这样就给一些恶意程序留下了可乘之机,对系统的安全造成了极大的隐患。而在Wi
2013-11-23 22:43:31 921
转载 GCC_符号表_调试信息
GCC把C语言源文件('.c')编译成汇编语言文件('.s'),汇编器把汇编语言文件翻译成目标文件('.o'),最后由链接器链接所有的目标文件和有关的库生成可执行文件('a.out')。 如打开'-g'选项,GCC编译'.c'文件时,把附加的调试信息插进'.s'文件,这些调试信息经汇编器和链接器稍加转换一直传到可执行文件中。这些调试信息包括行号、变量的类型和作用域、函数名字、函数参数和函数
2013-03-05 22:20:24 2286
转载 网络地址转换(NAT,Network Address Translation)
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。目录网络地址转换(N
2013-02-26 22:28:12 1978
转载 路径MTU发现
1.简介当一台IP主机有大量的数据要发送给另一台主机的时候,数据是作为一系列的IP数据报传输。数据报最好具有在从源点到目的点的路径上不需要分片的最大尺寸。(避免分片的情况,见[5]。)这种数据报的尺寸称作为路径MTU(PMTU),它等于路径上每一跳的MTU之中的最小值。当前因特网协议族的缺点就是对一台主机来说缺乏发现任意一条路径的PMTU的标准机制。注意:路径MTU在[1]中被称作为“用于
2013-02-22 23:26:28 1693
转载 关于VC 中的#include "stdafx.h"
stdafx是预编译头文件。你可以从VC++集成环境菜单Project/Settings...中的Project Settings Dialog/C/C++/Category:Precompiled Headers/Use precompiled header file(.pch)的Check Box中看到。已经将Stdafx.h文件作为预编译的头文件来使用。 预编译头文件是在编
2013-02-22 20:35:00 665
转载 宏的高级使用--##,__VA_ARGS__, __FILE__, __FUNCTION__等
分类: 原文地址:宏的高级使用--##,__VA_ARGS__,__FILE__, __FUNCTION__等 作者:HYYLINUX原文地址:http://www.cnblogs.com/areliang/archive/2007/08/02/840455.html C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C
2013-02-21 23:39:11 871
转载 调试技术: Linux core dump file
调试技术: Linux core dump file 收藏 1. 前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来. 2. gdb: 有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的,
2012-11-11 15:28:22 957 1
转载 GDB 反汇编
1、disassemble反汇编命令:disassemble 是以反汇编清单的形式输出内存的内容,表示的格式由命令set disassembly-flavor确定1.1不带参数默认的反汇编范围是 所选择帧的pc附近的函数1.2单个参数 就是pc, 当然也可以是函数名,因为函数名 也是一个 地址; 这样范围就是该pc附近的函数:disass func_name>>
2012-11-11 15:12:31 3487
转载 gdb 调试段错误(MIPS)
开发嵌入式Linux的时候经常会遇到segmentation fault,也就是段异常错误,一般是使用错误的指针访问内存导致。这种错误可以通过打开内核的异常信息输出,再用gdb对发生段异常的地址进行定位。1.打开内核的异常信息输出:mips的内核代码关闭了arch/mips/mm/fault.c的do_page_fault():133中的这段代码:#if 0 printk("do
2012-11-11 13:20:34 2632 1
转载 GDB调试core文件样例(如何定位Segment fault)
GDB调试core文件样例(如何定位Segment fault)core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。
2012-11-11 11:18:42 838
斐波那契非递归 C语言源码 大数加法
2014-11-20
ZedGraph开源代码
2012-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人