
C拾遗
zyzhangyue
这个作者很懒,什么都没留下…
展开
-
C++概念
1. 面向对象的程序设计思想是什么?答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。2. 什么是类?答:把一些具有共性的对象归类后形成一个集合,也就是所谓的类。3. 对象都具有的两方面特征是什么?分别是什么含义?答:对象都具有的特征是:静态特征和动态特征。静态特征是指能描述对象的一些属性(成员变量),动态特征是指对象表现出来的行为(成员函数)转载 2015-05-16 22:32:43 · 365 阅读 · 0 评论 -
类似linux驱动的写法
struct __gsim_struct_device__{ char* name; //! TGSimDeviceCls cls; //!原创 2015-05-18 17:40:27 · 342 阅读 · 0 评论 -
Queue
typedef struct __struct_queue__ TQueue;struct __struct_queue__{ void** buffer; uint32_t capacity; uint32_t wr; uint32_t rd;原创 2015-05-18 16:22:53 · 245 阅读 · 0 评论 -
Stack
#define INVALID_POINTER NULL // ((void*)INVALID32)#define STACK_EMPTY(p) (INVALID_POINTER == p)typedef struct { uint8* mpTopPointer; uint8* mpBottomPoi原创 2015-05-18 16:32:42 · 286 阅读 · 0 评论 -
#pragma arm section
#pragma arm section#pragma arm section code = "code_sram"#pragma arm section rodata = "data_sram_rw"#pragma arm section rwdata = "data_sram_rw"#pragma arm section zidata = "data_sram_zi"原创 2015-05-18 16:31:13 · 1551 阅读 · 0 评论 -
define的有趣用法
#define module_init(func) module_init_level(func,5)#define module_exit(func) module_exit_level(func,5)#define service_init(func)原创 2015-05-18 16:27:35 · 485 阅读 · 0 评论 -
初始化和释放模块
#define Define_Section_Init(a) [a] = { \ .start=(void *)&_原创 2015-05-18 16:26:21 · 416 阅读 · 0 评论 -
C 语言中的指针和内存泄漏
引言对于任何使用 C语言的人,如果问他们 C语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在 C语言中拥有的最强大工具。本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括:· 导转载 2015-05-17 13:29:21 · 289 阅读 · 0 评论 -
位数对齐的内存申请释放
void* alMalloc( size_t size, int alignment ) {const size_t pSize = sizeof(void*), a = alignment-1;void *raw = malloc(size + a + pSize);void *aligned = (void*) (((size_t) raw + pSize + a) & ~a)原创 2015-05-17 21:59:57 · 400 阅读 · 0 评论 -
回调函数的使用
typedef int(*CallBack)(char *p) ; // 声明CallBack 类型的函数指针 int A(char *p){ AfxMessageBox("A"); AfxMessageBox(p); return 0;}int B(CallBack lpCall,char *p) { AfxMessageBox("B");转载 2015-05-17 13:38:40 · 229 阅读 · 0 评论 -
只在某一函数内使用#define
#define __MIN__(x, y) (((x)#define __MAX__(x, y) (((x)>=(y))? (x) : (y))... #undef __MIN__#undef __MAX__原创 2015-05-21 09:22:18 · 1853 阅读 · 0 评论 -
程序在 编译期,链接期, 运行期各执行哪些操作?
源文件的编译过程包含两个主要阶段,而它们之间的转换是自动的。先说说要实现一个程序功能要经历的步骤吧 step1:当然就是在编辑窗口(用高级语言)输入你的原程序 (f.c)step2:编译你的原程序 编译成计算机能够识别的2进制形式的目标代码(f.o)step3:将上面的目标代码 输入内存与系统提供的库函数和其他一些目标代码相连接 连接成可以执行的exe文件 f.exest转载 2015-05-17 13:24:40 · 2569 阅读 · 0 评论 -
计算内存大小
#include#include#include int main(){ char buff[50]={0}; int MemTotal=0,MemFree=0; FILE* p =fopen("/proc/meminfo","r"); while(1) {原创 2015-05-16 13:49:28 · 514 阅读 · 0 评论 -
__VA_ARGS__用法
自定义调试信息的输出 调试信息的输出方法有很多种, 例如直接用printf, 或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一般是使用syslog将调试信息输出到日志文件中等等... 使用标准的方法打印调试信息有时候不是很方便, 例如Qt编程, 在调试已有的代码时, 我想在打印调试信息的地方, 把代码位转载 2015-05-18 17:59:56 · 324 阅读 · 0 评论