自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ascend的专栏

纸上得来终觉浅,绝知此事要躬行

  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

转载 c/c++ int _tmain(int argc, _TCHAR* argv[])

在visual c++ 2005/8 中,当选择编辑一个32位Win32控制台应用程序时.初始状态下系统自带函数:  int _tmain(int argc, _TCHAR* argv[])  {  return 0;  }   上述Win32控制台应用程序的入口程序是用来存放机器的一个环境变量的,如:机器名,系统信息等.  其中:  int

2014-08-31 16:08:21 2157

原创 软件研发知识点总结(更新中)

1.以太网中根据MAC地址区分不同的设备。2.static的用途:(1)在函数体内,一个被声明为静态的变量在函数被调用的过程中维持其值不变。(2)在模块内(函数体外),一个被声明为静态的变量可以被模块内的函数访问,但不能被模块外其他的函数访问,它是一个本地的全局变量。(3)在模块内,一个被声明为静态的函数只能被这一模块内的其他函数调用。3.引用和指针的区别:(1)引用必

2014-08-31 16:06:28 548

转载 内排序算法小结

从以下几个方面来比较排序算法:1. 算法的时间和空间复杂度2. 排序的稳定性3. 算法结构的复杂度4. 参加排序的数据规模排序的稳定性:稳定排序方法: 插入排序、冒泡排序、二路归并排序、基数排序是稳定排序算法;不稳定排序方法: 选择排序、谢尔排序、快速排序、堆积排序是不稳定排序算法。算法复杂度比较:

2014-08-31 16:06:05 486

原创 简单选择排序

(1)基本原理:对于给定的一组记录,经过第一轮比较后得到最小的值,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二轮比较,得到最小记录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个为止。(2)特点:交换移动的数据次数比较少。(3)算法时间复杂度:O(n^2)。辅助空间O(1)。(4)程序设计要点:嵌套循环,记录最小数和最小

2014-08-31 16:04:37 529

原创 快速排序

(1)基本原理:先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的数字移动到数组的左边,比选择的数字大的数字移到数组的右边。然后用递归的思路分别对每次选中的数字左右两边进行排序。      当初始序列整体或者局部有序时,快速排序的性能会下降,此时快速排序将退化为冒泡排序。(2)算法最好时间复杂度O(nlogn)(每次区间划分,基准关键字为待排序的记录中间值) 

2014-08-31 15:54:28 595

转载 TCP/IP协议中的三次握手与四次挥手流程详解

TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式  TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。  (2)确认序号:Ack序号,占32位,只有

2014-08-30 20:12:43 548

转载 嵌入式Linux C笔试题积累

1.   嵌入式系统中断服务子程序(ISR)  中断是嵌入式系统中重要的组成部分,这导致了很 多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。 __interrupt double compute_area (double

2014-08-30 19:36:07 550

转载 可重入和不可重入

重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。一般浮点运算都是由专门的硬件来完成,举个例子假设有个硬件寄存器名字叫做FLOAT,用来计算和存放浮点数的中间运算结果假设有这么个函数void fun(){//...这个函数对FLOAT寄存器进行操作}假如第一次执行,有个对浮点数操作运算的结果临时存在FLOAT寄存

2014-08-30 17:27:05 468

转载 linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2014-08-30 16:25:03 465

原创 C++中的system("pause");

C++中的system命令主要是调用所在系统的命令行,pause会输出"请按任意键继续. . ."然后等你敲一下键盘一般是为了看清楚输出的结果,因为程序运行完以后窗口就会关闭,这样就看不到输出的结果了.所以可以把这个system("pause");放在main函数的return之前.

2014-08-30 11:34:42 32559 3

转载 互换两个变量,不使用中间变量

第一种方法:a=a+b;b=a-b;a=a-b; 代码如下: [cpp] view plaincopy#include "stdio.h"  int main(void)  {      int a,b;      printf("请输入两个变量a和b:/n");      scanf("%d %d",&a,&b);      printf("a和b

2014-08-30 09:42:15 533

转载 sprintf函数详解

sprintf 将字串格式化。  头文件 #include  语法: int sprintf(string format, mixed [args]...);       返回值:字符串长度(strlen)  1. 处理字符方向。-负号时表时从后向前处理。  2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。  3. 字符总

2014-08-30 09:37:15 4029

转载 程序在内存中的分布

在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存和虚拟内存。从硬件上讲,虚拟空间是CPU内部的寻址空间,位于MMU之前,物理空间是总线上的寻址空间,是经过MMU转换之后的空间。一般我们所说的程序在内存中的分布指的就是程序在虚拟内存中的存储方式。从低地址到高地址,可分为下面几段: 预留内存地址(操作系统维护的内存地址,不可访问) 程序代码区(只读,存代码和一

2014-08-30 09:34:07 429

转载 c++模板类学习

1、模板的概念我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y){  return(x>y)?x:y ; }//函数2.

2014-08-30 09:28:04 605

转载 LPC1768@100MHz和LPC1788@120MHz的PLL0设置

对于搞软件开发的来说,弄一些硬件相关参数总觉得有点没底。做了几年,总算知道锁相环(PLL)的作用是把一个输入频率“放大”后输出,虽然对PLL的电路原理还是一窍不通。最近研究LPC1788和LPC1768的主频时发现两者的PLL0配置相差挺多的,于是耐着性子啃了User manual,总算理清楚了(作为软件开发者,某些太细节的硬件原理就不去深究了)。        首先LPC1788工作在1

2014-08-29 23:54:36 1099

转载 C++中return语句的用法

C++中的return语句是函数中一个重要的语句,return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。return语句有两种形式:return;return expression;1、没有返回值的函数不带返回值的return语句只能用于返回类型为void的函数,return语句是为了引起函数的强制结束,这种用法类似于循环结构中的br

2014-08-29 20:47:56 868

转载 make_pair

【好记性不如烂笔头:在《C++ Templates》看到这个函数,发现正是前段时间写项目程序所要用到的,可惜当时还不知道有这个用法,当时是自己写了个结构体。。】Utilities  由短小精干的类和函数构成,执行最一般性的工作。 这些工具包括: general types 一些重要的C函数 numeric limitsPairs C++标准程序库中凡是“必须返回

2014-08-29 20:47:36 406

转载 vector(C++)讲解

使用需要的头文件:#include vector:不是一种数据类型。 vector是一种数据类型。vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。一、 定义和初始化templateexplicit vector(); // 默认构造函数,vector对象为空e

2014-08-28 22:17:31 530

转载 C++中的引用

对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、

2014-08-28 20:01:15 438

转载 C++ 虚函数表解析

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

2014-08-28 11:36:57 419

转载 浅谈C++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定

2014-08-28 11:26:55 375

转载 C++ 继承

C++继承编辑本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。目录▪ 定义1

2014-08-28 11:01:14 389

转载 类和结构的区别

目录:Ø 类和结构的示例比较Ø 类和结构的差别Ø 如何选择使用类还是使用结构 一 类和结构的示例比较结构示例: public struct Person   {       string Name;       public int height;       int weight;        public bool overWe

2014-08-28 10:51:23 404

转载 确定一个变量是有符号数还是无符号数

读《C专家编程》,其中一段讲面试,说是微软曾经有一道面试题:写一段代码,确定一个变量是有符号数还是无符号数?书上给出了两个宏:#define ISUNSIGNED(a) (a>=0 && ~a>=0)#define ISUNSIGNED(type) ((type)0-1 > 0)第二个从类型来判断,没有问题。而第一个只能用在K&R C里,在ANSI C里就不行了

2014-08-28 09:14:33 1648 1

转载 堆和栈的区别

堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态

2014-08-28 08:35:52 465

转载 C语言之calloc函数

【FROM MSDN && 百科】原型: void *calloc(size_t  n,size_t size);#include或#include 在内存的动态内存区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。与malloc的区别是:calloc在动态分配完内存后,自动初始化该内存空间为零,而mal

2014-08-20 10:52:24 670

转载 TCP协议三次握手过程分析

TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urge

2014-08-12 20:44:15 385

转载 C++变量和对象的区别联系

对象和变量这两个概念莫要搞乱,颈是颈,椎是椎,虽然两者都对应着一块内存,但是从不同的角度去理解内存就会产生不同的意义。变量:所谓变量就是一种定义,通过定义编译器将会开辟一段空间,并将这段内存空间和这个变量的名字捆绑在一起。从这个意思去理解,其实说白了:变量名就是内存在代码中可视化的一个符号。也就是说,如int a,a只是内存中某段地址在代码中可视化的一个符号,a本身作为符号并不占用

2014-08-06 12:24:34 619

原创 华为软件研发面试C语言实现1

由于本人水平有限,欢迎拍砖

2014-08-01 16:35:50 732

DE2引脚配置CSV文件

DE2开发板引脚配置信息,可以直接通过quartus ii 软件 assignments->import assignments导入,使用时注意引脚信息的对应关系。

2014-02-17

crc5_verilog

crc5的verilog实现和仿真。文件包括crc5.v和testbench文件crc5.vt以及仿真效果图。

2013-10-06

空空如也

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

TA关注的人

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