
C/C++
besthyq
嵌入式linux开发,三年经验。了解linux内核,编写过一些驱动
展开
-
浮点数的存储及输出问题
Author :Jeff 2005-11-25 关键字: 体系结构 IEEE754 浮点数 存储 main(){ float f=123.456; printf("f=%f/n",f);}如果不运行上面的代码,让我们来直接判转载 2006-09-01 08:42:00 · 990 阅读 · 0 评论 -
LINUX下播放WAV的C程序。利用OSS接口
#include #include #include #include #include #include #include #include #include #define OPEN_DSP_FAILED 0x00000001 /*open dsp failed!*/#define SAMPLERATE_STATUS 0x00000002 /*samplerat原创 2007-06-06 16:52:00 · 2245 阅读 · 2 评论 -
正则表达式
17种正则表达式"^//d+$" //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-//d+)|(0+))$" //非正整数(负整数 + 0)"^-[0-9]*[1-9][0-9]*$" //负整数"^-?//d+$" //整数"^//d+(//.//d+)?$" //非负浮点数(正浮点数 + 0)"^(([0-9]+//.[0-9]转载 2007-04-16 09:32:00 · 2029 阅读 · 0 评论 -
探索C++的秘密之详解extern “C”
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"转载 2007-01-24 09:23:00 · 792 阅读 · 0 评论 -
sizeof
sizeof 转载关键字:sizeof,字节对齐,多继承,虚拟继承,成员函数指针前向声明:sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所转载 2006-12-04 22:29:00 · 1044 阅读 · 0 评论 -
关于C++中函数指针的使用(包含对typedef用法的讨论)
(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一转载 2006-12-01 10:01:00 · 1082 阅读 · 0 评论 -
C++精华基础贴
八进制:以数字0开头 十六进制:以0x或者0X开头Q:如何实现 字符串各种数字类型 的转换? A:通用的方法:sprintf 实现数字=>字符串 sscanf 实现字符串=>数字 其他方法:字符串=>数字转载 2006-11-27 20:07:00 · 1318 阅读 · 0 评论 -
gcc和g++的区别
gcc和g++都是GNU(组织)的一个编译器。误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因转载 2006-11-23 08:34:00 · 835 阅读 · 0 评论 -
c++ 覆盖、重载、隐藏
“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,否则等洗完时车早就散架了。我们并不要那么明确地指出来就心知肚明,这就有重转载 2006-11-08 11:55:00 · 10701 阅读 · 5 评论 -
字符集之间转换(UTF-8,UNICODE,Gb2312)
特搜集了UTF-8,UNICODE,Gb2312他们3个之间的相互转换.UTF-8: 3字节一个字符UNICODE: 2字节一个字符GB2312: 1字节一个字符例子:“你”字的UTF-8编码: E4 BD A0 11100100 10111101 10100000“你”的Unicode编码: 4F 60 01001111 01100000按照UTF-8的转载 2006-11-07 12:41:00 · 1694 阅读 · 0 评论 -
c++资源之不完全导引
声明:.本文2004年5月首发于《优快云开发高手》,版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节,此处版本为相对完整版本。.本文为介绍性文章,会随笔者学习C++语言不断更新。前言无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程转载 2006-11-05 20:08:00 · 1022 阅读 · 0 评论 -
成为嵌入式程序员应知道的0x10个问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCI转载 2006-09-30 11:24:00 · 985 阅读 · 0 评论 -
c/c++编程基础篇之浅析堆&栈
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,转载 2006-09-30 11:21:00 · 1348 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总
1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申转载 2006-09-30 11:25:00 · 4412 阅读 · 2 评论 -
用系统时间作为文件的保存名
time_t now = time(0); char filename[19]; char follow[] = ".mp3"; strftime(filename , 15 , "%Y%m%d%H%M%S" , localtime(&now)); strcat(filename,follow)原创 2006-09-11 10:42:00 · 952 阅读 · 0 评论 -
spirntf,你知道多少?
printf可能是许多程序员在开始学习C语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多吗?在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。 由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致s转载 2006-09-07 13:40:00 · 1186 阅读 · 0 评论 -
析IEEE浮点数表示法
众所周知,计算机中的所有数据都是以二进制表示的,浮点数也不例外。然而浮点数的二进制表示法却不像定点数那么简单了。先澄清一个概念,浮点数并不一定等于小数,定点数也并不一定就是整数。所谓浮点数就是小数点在逻辑上是不固定的,而定点数只能表示小数点固定的数值,具用浮点数或定点数表示某哪一种数要看用户赋予了这个数的意义是什么。C++中的浮点数有6种,分别是:float:单精度,32位unsign转载 2006-09-01 08:38:00 · 1168 阅读 · 0 评论 -
scanf 字符 缓冲
函数名: scanf 功能: 执行格式化输入 用法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为:scanf("格式化字符串>",地址表>);scanf()函数返回成功赋值的数据项数,出错时则返转载 2007-10-08 15:45:00 · 1469 阅读 · 0 评论