- 博客(29)
- 资源 (77)
- 收藏
- 关注
转载 Alternate linkage specifications
from Alternate linkage specificationsWhat happens if you’re writing a program in C++ and you want to use a C library? If you make the C function declaration, float f(int a, char b); the C++
2015-05-31 22:34:07 968
原创 static data member in a class
#include#includeusing namespace std;class PrintHead{protected:static int PresNum;//the present heads numberpublic:PrintHead();~PrintHead();void PrintPresHeadsNum();};
2015-05-31 18:18:44 579
转载 C++中的Aggregate
C++中的Aggregate转自: http://blog.csdn.net/oowgsoo/article/details/1537454先看一行代码: int x[] = {1, 3, 5};这里声明x为有3个int元素的数组,在C语言中存在大量这样的代码,这太司空见惯了,似乎没有什么可好奇的东西存在,那么在C++中呢?嗯,C
2015-05-26 23:31:48 982
原创 csv typing
#include #include typedef char CHAR;typedef unsigned char BYTE;typedef int INT;#define Item_len_max (2 * 1024)typedef enum {CSV_SUCESS,INVALID_CHAR, INVALID_DELIM,DELI
2015-05-25 01:00:02 540
原创 在字符串中查找字符串 Strstr() StrstrSpan()
/*Description:The strstr function locates the firstoccurrence in the string pointed to by s1 of the sequence of characters(excluding the terminating\null character)in the string pointed to by s2
2015-05-24 17:00:48 1241
原创 VIM collection
四、VIM常用命令查找按下 / 键,输入想要查询的内容,回车即可;快捷键: n:跳到下一个匹配的内容; N:跳到上一个匹配的内容全局查找123456789:vimgrep 搜索文本 搜索路径/**:cn[ext] 跳到下一个匹配文本
2015-05-24 13:26:25 565
原创 Ascii Table 不同系统中换行符的区别
Unix系统里,每行结尾只有“”,即“\n”;Windows系统里面,每行结尾是“”,即“\n\r”;Mac系统里,每行结尾是“”。一个直接后果是,Unix/Mac系统下的文件在Windows里打 开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。Dos和windows采用回车+换行CR/LF表示下一行,而
2015-05-24 11:38:03 877
转载 vimrc
if has("syntax") syntax onendif " If using a dark background within the editing area and syntax highlighting" turn on this option as well"set background=dark" Uncomment the follow
2015-05-23 00:09:09 821
转载 lpc 用户程序的地址及中断向量设置
在IAR环境下,lpc2478 用户程序的地址及中断向量设置几千行的程序都写完了 从ADS转到IAR下的时候 头疼了三天程序都没跑起来 在失望之余 猛然看到了这个帖子 内牛满面啊!!!摘要:当系统中,只有一个程序时,可以直接从起始地址开始运行;但当系统中有两个程序时,例如带bootloader的系统,则应用程序的运行需要通过bootloader跳转,和bootloade
2015-05-22 00:10:31 2355 1
转载 vim manul
1. 关于Vim1.1 Vim的几种模式2. 启动Vim3. 文档操作4. 光标的移动4.1 基本移动4.2 翻屏4.3 标记5. 插入文本5.1 基本插入5.2 改写插入6. 剪切复制和寄存器6.1 剪切和复制、粘贴6.2 文本对象6.3 寄存器7. 查找与替换7.1 查找7.2 替换7.3 正则表达式8
2015-05-20 23:08:28 838
原创 typing...
enum ErrCSV{};extern char *strtok(char *s, char *delim);/*Item :the content of the extracted item,the function will empty the buffer before writing it.Size :the buffer size of the It
2015-05-20 19:33:42 794
原创 宏定义:给传入参数加括号,给最后生成的表达式加括号 floatToInt()四舍五入
宏定义:1,给传入参数加括号,因为传入参数可能是个表达式2,给最后生成的表达式加括号比如:浮点数四舍五入转整数的宏:#define fToi(f) ((int)((f) * 10) % 10 >= 5 ? (int)((f) + 1) : (int)(f))如果不给传入的f加括号为(f),则当f是表达式时,可能运算出错。
2015-05-20 15:37:15 1436
转载 AAPCS规则要求堆栈保持8字节对齐
[STM32/STM8经验] AAPCS规则要求堆栈保持8字节对齐 一.为什么要保证堆栈8字节对齐AAPCS规则要求堆栈保持8字节对齐。如果不对齐,调用一般的函数也是没问题的。但是当调用需要严格遵守AAPCS规则的函数时可能会出错。例如调用sprintf输出一个浮点数时,栈必须是8字节对齐的,否则结果可能会出错。实验验证:
2015-05-19 00:45:25 1866
转载 编译器的内存对齐问题
编译器的内存对齐问题由于程序运行时占用的内存过大,所以想办法给程序瘦身。在调试中发现结构体占用的size竟然和预想的不一样,原来……看看下面讲的吧,肯定会不枉此看哦!1,比如:struct{ short a1; short a2; short a3;}A;struct{ long a1;
2015-05-19 00:40:02 1101
转载 Trick Collection
1,arrays is automatic counting,A second shorthand for arrays is automatic counting, in which you let the compiler determine the size of the array based on the number of initializers: int c[]
2015-05-14 10:03:51 371
转载 Arrays of pointers to functions
Arrays of pointers to functionsOne of the more interesting constructs you can create is an array of pointers to fuArrays of pointers to functionsnctions. To select a function, you just index into
2015-05-13 10:41:42 539
转载 Casting operator
To perform a cast, put the desired data type (including all modifiers) inside parentheses to the left of the value. This value can be a variable, a constant, the value produced by an expression, o
2015-05-12 23:57:17 655
转载 volatile used when communicate with hardware register and mutithread program.
volatile used when communicate with hardware register and mutithread program.. Use this keyword when you read some value outside the control of your code, such as a register in a piece of c
2015-05-12 23:05:54 390
转载 C和C++实现方式
C++是一种具备面向对象能力的编程语言,所以,用 C++来表达“我吃饭”这样一件事时,它的代码风格贴近这种人类的自然语言,即:我.吃(饭);“我”是一个对象,“吃”是“我”所属对象(人类)的一个函数,而“饭”是函数参数。 换成 C 语言,因为它不具备面向对象的设计思想,所以,它只能说成:“吃(我,饭)”。“吃”是函数,“我”和“饭”是两个参数。没有人规则一定要把 “我”作为第一个参
2015-05-07 18:47:27 477
转载 操作符new 和函数malloc()的异同及其用法
操作符new 和函数malloc()的异同:1,在内存管理上,C++ 和 C 有着完全不同的两套方案。当然,C++的总是同时兼容 C。C 的那一套方案在 C++里同样可行2,new 是 c++ 的一个关键字。被当作像+、-、* 、/ 一样的操作符。它的操作结果是在申请到一段指定数据类型大小的内存。 3,new/delete 只在 C++里得到支持。在 C 里,内存管理是通过
2015-05-07 18:04:08 900
转载 C++ 的传值和传值在栈中的内容
至于参数是a还是b先入栈,这依编译器而定,大都数编译器采用“从右到左的次序”将参数一个个压入。所以示意图,参数b被先“压”入在底部,然后才是a。这样就完成了参数的入栈过程。根据前面讲的不同“传递方式”,被实际压入栈的数据也就不同。 一、如果是“传值”,则栈中的a,b就是“复制品”,对二者的操作,仅仅是改变此处栈区的内存,和调用处的实参:a,b毫不关联: 二、而在“传址”方式时,
2015-05-07 15:56:59 929
转载 解决代码逻辑嵌套过多的技巧 do{} while(0);
在此过程,遇到以下情况时将放弃后续的操作,认为是操作失败: 1、如果 A 文件不存在; 2、如果B文件已经存在,并且询问用户是否覆盖时,用户回答“不”; 3、无法复制出 B 文件; 4、无法打开 B 文件; 5、无法写入 B 文件; 6、无法正常关闭 B 文件。 用伪代码写该段程序为if( A 文件存在 ) { 执行 A 文件的相
2015-05-07 15:09:31 2603
转载 对堆栈8字节对齐问题的讨论
一.为什么要保证堆栈8字节对齐AAPCS规则要求堆栈保持8字节对齐。如果不对齐,调用一般的函数也是没问题的。但是当调用需要严格遵守AAPCS规则的函数时可能会出错。例如调用sprintf输出一个浮点数时,栈必须是8字节对齐的,否则结果可能会出错。实验验证:#include "stdio.h"#include "string.h"float fff=1.234;cha
2015-05-06 21:42:35 3459
原创 the macro of watch variable value and its memory content
the macro of watch variable value and its memory content
2015-05-05 23:07:41 506
原创 time stamp log function test with variable argument
log function with variable argument .
2015-05-03 20:45:26 835
嵌入式BSP基础知识
2015-03-09
arm assembly language programming (Pete_Cockerell)
2015-02-25
arm instruction spec
2015-02-16
vim 编辑器 windows版本 gvim
2016-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人