c/c++(语言工具)
zhengmeifu
嵌入式系统开发工程师
展开
-
探索C++的秘密之详解extern "C"
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一转载 2011-12-14 16:27:06 · 1319 阅读 · 0 评论 -
码农的八荣八耻
以动手实践为荣,以只看不练为耻;以打印日志为荣,以单步跟踪为耻;以空格缩进为荣,以制表缩进为耻;以单元测试为荣,以人工测试为耻;以模块复用为荣,以复制粘贴为耻;以多态应用为荣,以分支判断为耻;以干净利索为荣,以冗余拖沓为耻;以总结分项为荣,以跪求其解为耻;转载 2013-01-14 08:47:14 · 1479 阅读 · 3 评论 -
几道经典的嵌入式C语言笔试题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的转载 2012-11-06 10:42:55 · 1145 阅读 · 1 评论 -
有趣的C语言测试题
1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代转载 2012-09-07 10:16:35 · 885 阅读 · 0 评论 -
ascii码表
ASCII 碼大致可以分作三部分組成。第一部分由 00H 到 1FH 共 32 個,一般用來通訊或作為控制之用,有些字元可顯示於螢幕,有些則無法顯示在螢幕上,但能看到其效果(例如換行字元、歸位字元)。如下表:第二部分是由 20H 到 7FH 共 96 個,這 95 個字元是用來表示阿拉伯數字、英文字母大小寫和底線、括號等符號,都可以顯示在螢幕上。如下表:ASCI原创 2012-08-10 15:57:39 · 5396 阅读 · 2 评论 -
C++运算符优先级及结合性备忘
老是忘记优先级和结合性,唉,有什么好办法或好口诀的?贴图备忘吧。优先级口诀暂时记法:初单算关逻条赋逗,单条赋右至左。原创 2012-07-27 11:19:31 · 1276 阅读 · 0 评论 -
一个跨平台的 C++ 内存泄漏检测器
内存泄漏对于C/C++程序员来说也可以算作是个永恒的话题了吧。在Windows下,MFC的一个很有用的功能就是能在程序运行结束时报告是否发生了内存泄漏。在Linux下,相对来说就没有那么容易使用的解决方案了:像mpatrol之类的现有工具,易用性、附加开销和性能都不是很理想。本文实现一个极易于使用、跨平台的C++内存泄漏检测器。并对相关的技术问题作一下探讨。基本使用对于下面这样的一个简单程转载 2012-05-22 15:06:28 · 1444 阅读 · 1 评论 -
C++各大有名科学计算库
C++各大有名科学计算库2008年10月13日 星期一 上午 11:29在 C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多转载 2012-05-23 11:35:53 · 1964 阅读 · 0 评论 -
适合初学者用的嵌入式开发方面的书
适合初学者用的嵌入式开发方面的书的下载地址:Windows+CE嵌入式高级编程及其实例详解: http://download.csdn.net/detail/zhengmeifu/4320778构建自定义的WINCE系统: http://download.csdn.net/detail/zhengmeifu/4113570基于S3C2410(ARM9)的Linux2.6.14.1系统全原创 2012-05-23 10:50:36 · 2368 阅读 · 1 评论 -
C语言中如何使用宏
C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP) do{ if (EXP转载 2012-03-19 12:59:36 · 1099 阅读 · 0 评论 -
C++编程技能考题
预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接转载 2012-03-09 15:13:55 · 4052 阅读 · 0 评论 -
C++引用考题
1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个转载 2012-03-09 14:55:45 · 1527 阅读 · 0 评论 -
C/C++格式化字符串说明
C++的格式化字符串经常用作格式化数字的输出、字符串合并和转换等等很多场合。 1. 格式化规定符━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号 作用────────────────────────── %d 十进制有符号整数 %u 十进制无符号整数转载 2012-02-17 16:17:09 · 2042 阅读 · 0 评论 -
UNICODE ANSI转换
UNICODE ANSI转换个人感觉ANSI -> UNICODE,编码方式为: 如ANSI 0X4A -> UNICODE 0X4A00 不知道对不?两个UNICODE ANSI转换函数:void UnicodeToAnsi(WCHAR* lpString,char *szAnsi){ size_t len = wcslen(lpString)*2; ch转载 2012-02-17 16:22:28 · 2086 阅读 · 0 评论 -
宽字符集(unicode)操作函数
总有几个Unicode的函数要用的时候想不起来,找到一篇放在这里备忘。字符分类:宽字符函数 普通C函数 描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdigit() 测试字符是否为数字 i转载 2012-02-17 16:18:55 · 1297 阅读 · 0 评论 -
C++中作用域限定符"::"
C++中作用域限定符 在不同作用域内声明的变量可以同名,但如果局部变量和全局变量同名,在局部变量作用域内如何访问全局变量?C语言没有提供同名情况下访问全局变量的方法。在C++中,可以通过使用作用域限定符(::)(scope resolution operator)来区别同名的全局变量 例2-27 在局部变量作用域内利用作用域限定符访问同名的全局变量Cp翻译 2012-02-09 17:14:18 · 4457 阅读 · 0 评论 -
指针数组的定义和引用
指针数组是一种特殊的数组,指针数组的数组元素都是指针变量。指针数组的定义格式为:类型名称 *数组名称[数组长度];例如:float *pf[3];因为下标运算符[]的优先级高于指针运算符*,上述定义等价于:float * (pf[3]);说明pf是一个含有3个元素的数组,数组元素为指向float型变量的指针变量。又如: int *pn[5]; /*定义一个5个元素的指针数组,数组元素为指向int型转载 2014-06-17 09:55:42 · 2233 阅读 · 0 评论