自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 英语中常见的123个中国习语

1.爱屋及乌 Love me, love my dog.   2.百闻不如一见 (眼见为实 )Seeing is believing. 3.比上不足比下有余 worse off than some, better off than many; to fall short of the best, but be better than the worst.   4.笨鸟先飞 A s

2010-04-07 15:04:00 1531

转载 Regression testing、Smoke Test、Sanity testing

Regression testing is verifing that previously passed tests are still OK after any change to the software or the environment, usually to verify that a change in one area doesnt affect other or un

2010-04-03 15:43:00 1319

转载 RVO:Return value optimization

Return value optimizationFrom Wikipedia, the free encyclopediaJump to: navigation, searchReturn value optimization, or simply RVO, is a C++-specific compiler optimization techniq

2010-03-05 17:15:00 1067

转载 C语言中双字符组(digraph)和三字符组(trigraph)的使用注意事项

某些标点符号,在一些键盘上是无法输入的,所以C提供了这样的替换方式。其中双字符记号有六个,也成为双字符组(digraph)::>     ]%>   }%:     #%:%: ##如果上述任何字符组出现在字符常量或字符串字面值中,则不会被解释成双字符组;除此之外,它们一律被解释成双字符组,作用和相应的单一字符记号完全一样。比方说,下列的两个程序代码片段完全等价的,

2010-03-05 16:50:00 1922

转载 优先级反转

优先级翻转发生的条件:    1、首先发生翻转需要有三个任务,它们的优先级分别是高、中、低。    2、低优先级和高优先级都需要take同一个信号量。      优先级翻转的过程:    1、低优先级先take到信号量。    2、低优先级被中优先级任务抢占。(然后低优先级任务就只能等中优先级任务执行完,再继续执行之后,才能释放信号量了)  

2010-01-29 13:30:00 976

转载 伪共享false sharing

1. 背景介绍       首先简单说一下计算机中处理器-内存体系结构。由于CPU速度远大于内存访问速度,现代CPU设计中都引入了缓存(cache)作为CPU和内存两者之间 交流的缓冲中介。缓存的速度也介于两者之间。缓存中存放了最经常被访问的内存数据,CPU在很大程度上只需要访问高速缓存,大大提高了系统性能。系统对缓 存进行读写的单位被称作缓存行(cache li

2010-01-28 22:35:00 1076

原创 零拷贝技术

零拷贝(zero-copy)基本思想是:数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。实现零拷贝用到的最主要技术是DMA数据传输技术和内存区域映射技术。如图1所示,传统的网络数据报处理,需要经过网络设备到操作系统内存空间,系统内存空间到用户应用程序空间这两次拷贝,同时还需要经历用户向系统发出的系统调用。而零拷贝

2010-01-16 22:51:00 929

原创 c语言模拟perl python中的数组负数索引

int main(){ int a[] = {1,2,3,4,5}; int i; int * p = a; for (p = a + 4, i = 0; i < 5; i++) { printf("%d ",p[-i]); } return 0;}

2010-01-16 16:53:00 1350

原创 回调函数

回调函数这个东西使用得比较多,其实所谓的回调函数就是函数指针,但在面向对象编程中,往往我们会使用他们达到很巧的目的,比如说类的封装中;或者用得更多的是实现动态绑定;呵呵这不是C++中传说的多态吗.先来个简单的介绍函数指针:#includetypedef int(*callback)(int);using namespace std;class X{ protected:

2009-08-31 17:17:00 796

转载 sizeof 用法总结

double* (*a)[3][6]; cout<<sizeof(a)<<endl; // 4 cout<<sizeof(*a)<<endl; // 72 cout<<sizeof(**a)<<endl; // 24 cout<<sizeof(***a)<<endl; // 4 cout<<sizeof

2009-08-31 13:17:00 888

转载 ACM学习建议

一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。  下面给个计划你练练:  第一阶段:    练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来.   1.最短路(Floyd、Dijstra,Be

2009-08-31 13:03:00 812

转载 __FILE__ __LINE__

__FILE__ 包含当前程序文件名的字符串__LINE__  表示当前行号的整数__DATE__ 包含当前日期的字符串__STDC__  如果编译器遵循ANSI C标准,它就是个非零值__TIME__ 包含当前时间的字符串例如:输出当前程序文件名的程序:#include int main(void){ printf("%s",__FILE__); return 0;}

2009-08-31 12:49:00 1074 1

转载 可重入函数&可重入内核

可重入函数这一概念早有接触,但一直未有系统的理解,最近阅读《APUE》信号一章时,其中讲解很到位,故总结如下。信号作为一种软中断,能够被进程给捕获,因而也就中断进程的正常执行,转而去执行信号处理程序,最后再返回到原进程继续正常执行。然而,当进程正在执行malloc()动态内存分配时,信号产生从而转入到信号处理程序,但当信号处理程序中也用到了malloc()函数时,问题就出来了?因为malloc

2009-08-30 09:59:00 2470

转载 C++中extern “C”含义深层探索

1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不

2009-08-22 23:05:00 723

转载 const

char greeting[] = "Hello";char *p = greeting; // non-const pointer, // non-const dataconst char *p = greeting; // non-const

2009-08-20 00:18:00 870

转载 变长参数表

#include #include void minprintf(char * fmt, ...){ va_list ap; char *p, *sval; int ival; double dval; va_start(ap,fmt); for(p=fmt;*p;p++) { if(*p !=

2009-08-19 22:45:00 787

转载 位字段

#include struct { unsigned char is_keyword :1; unsigned char is_extern :1; unsigned char is_static :1; unsigned char is_a :1; unsigned char is_b :1; unsigned char i

2009-08-19 22:18:00 752

转载 String 类与 StringBuffer 类

   String 是不可以变的字符串.   StringBuffer 是可变的字符串.  对StringBuffer进行操作,是在原来的对象之上进行改变. 而对String进行操作,是创建新的对象 string是不可变的。。。比如这个: test(x000001).replace(“j”,"i");内部分是这样的: Str

2009-08-19 11:03:00 724

转载 从控制台输入

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package isodd;import java.io.*;class Input { static InputStreamReader in; static B

2009-08-14 23:48:00 822

原创 数组与指针

指针是变量,可以作为赋值语句的左值,可以进行自增自减运算。数组名不是变量。  char amessage[]="ABC"; //定义一个数组char * pmessage = "ABC"; //定义一个指针                        _____amessage: |   ABC/0  |                     ___

2009-08-14 19:50:00 665

原创 #define 引发的问题

1。#include #define square(x) x*xint main(){ int v; scanf("%d",&v); printf("%d/n",square(v+1)); }  输入5   输出却是11预编译后的文件:int main(){ int v; scanf("%d",&v)

2009-08-14 19:02:00 523

转载 C语言中用qsort()快速排序

C语言中排序的算法有很多种,系统也提供了一个函数qsort()可以实现快速排序。原型如下: void qsort(void *base, size_t nmem, size_t size, int (*comp)(const void *, const void *));

2009-08-14 17:32:00 587

转载 关于time_t,clock_t ,time(),clock(),CLK_TCK, CLOCKS_PER_SEC 的使用

ISO/IEC     9899:1999     标准中有一个宏:     CLOCKS_PER_SEC            tc2     中的     time.h:没有     CLOCKS_PER_SEC,有一个     CLK_TCK                                                 #define     CLK_TCK     18.

2009-08-14 10:43:00 3008

原创 函数指针

#include #include void fun() { printf("Here/n"); } int main() { void (*f)()=fun; // 或者 void (* f)()=&fun; (*f)(); exit(0); }

2009-08-11 13:24:00 350

原创 字符串与整数之间的转换

#include #include using namespace std;int main(){ string s="12345"; long int i=strtol(s.c_str(),(char **)NULL, 10);// long int strtol(const char *nptr, char **endptr, int base); 字符串

2009-08-11 10:38:00 377

原创 getline() vector

#include#include#includeusing namespace std;int main(){ int NUM; cout<<"input vetcor size NUM="; cin>>NUM ; //getchar(); fflush(stdin); //输入NUM以后缓冲区中有个一个换行,而getline函数不忽略换行,如果不清空,第一

2009-08-11 00:43:00 812

原创 string类的成员函数c_str()

#include #include using namespace std;int main(){ char * a ="Hello world!/n"; string c=a; string b; cin >> b; const char *d = b.c_str(); //注意是const

2009-08-11 00:08:00 467

原创 十进制转2-16进制

#include #include #include #include using namespace std;int main(){char digit[16] = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};int num;cout << "待转换的数据:" ;cin

2009-08-10 23:29:00 465

转载 网线

常见的网线有两种,一种是直通线,也叫直连线或正线,另一种是交叉线,也叫反线。那么什么情况下用正线什么时候用反线呢?今天我们就为大家总结一下,以后在实际工作中遇到相应问题可以把本篇文章拿出来对照参考。  1.PC机与PC机之间,路由器与路由器之间使用交叉线进行连接。  2.PC机与路由器连接使用交叉线。  3.PC机与交换机,路由器与交换机之间使用直连线连接。  4.交换机与交换机之间情况比较特殊,

2009-08-08 15:02:00 490

原创 产生随机数

srand(time(NULL));//产生随机数种子rand() % 100 +1;//产生一个1~100以内的随机数.包含头文件是 #include  宏定义 RAND_MAX

2009-08-08 10:30:00 448

转载 Shell Sort 希尔排序

希尔排序(Shell Sort)又叫做缩小增量排序(diminishing increment sort),是一种很优秀的排序法,算法本身不难理解,也很容易实现,而且它的速度很快。插入排序(Insertion Sort)的一个重要的特点是,如果原始数据的大部分元素已经排序,那么插入排序的速度很快(因为需要移动的元素很少)。从这个事实我们可以想到,如果原始数据只有很少元素,那么排序的速度也很快。

2009-08-08 10:19:00 2294

转载 double 和 long double

double和long double都是ANSI C标准的浮点数。但ANSI C并未规定long double的确切精度。所以对于不同平台可能有不同的实现。有的是8字节,有的是10字节,有的是12字节或更多。一般来说long double的精度要高于double, 至少相等,就像int和long int一样。但同一平台也可能不一样,比如MS自己的C/C++/VC++就不一样。好像以前16位的VC+

2009-08-08 10:10:00 2095

原创 C语言变量名

A N S I标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这里外部名指的是在链接过程中所涉及的标识符,其中包括文件间共享的函数名和全局变量名。 A N S I标准还规定内部名必须至少能由前3 1个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的

2009-08-08 09:59:00 3157

转载 Timeline of programming languages

Predecessor(s)YearNameChief developer, CompanyPre 1950*<a class="ilnk" onclick="function onclick(){assignParam(navinfo,method|4+getLinkTextForCookie(this));}" h

2009-08-06 10:19:00 1034

转载 如何优化C语言代码

[转帖]如何优化C语言代码 作者 huchengxtu 日期 2009-8-1 12:10:001、选择合适的算法和数据结构   应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执

2009-08-02 14:59:00 452

转载 一个老电子工程师对新工程师的挖心话

诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强!  [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,

2009-08-02 14:24:00 1337

转载 程序员的八个级别

在面试时,你可能会被经常问到“在未来5年,你想干什么?”,这可能是一个比较难回答的问题。在中国,答案一般可能会是Team leader,Manager,或是Architect,Specialist等,在中国,大家可能更多地觉得manager会是程序员的下一个目标,可是在国外,经理和程序员可能是两个不同的分支,Architect或Specialist 比经理来说更牛、代遇可能也更好,因为这些人的智商

2009-08-02 14:18:00 384

Introducing.dot.NET.4.0.with.Visual.Studio.2010.Feb.2010

最新介绍.net 4.0 和vs2010的书

2010-02-11

空空如也

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

TA关注的人

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