随笔分类 -  c

[C++]项目中的代码注释规范(整理)
摘要:原文:http://blog.csdn.net/pleasecallmewhy/article/details/86587951 源文件头部注释列出:版权、作者、编写日期和描述。每行不要超过80个字符的宽度。示例:[cpp]view plaincopy /**********************... 阅读全文
posted @ 2014-05-04 15:01 飞奔的猪 阅读(3645) 评论(0) 推荐(0)
标记化结构初始化语法 在结构体成员前加上小数点 如 “.open .write .close ”C99编译器 .
摘要:今天在看串口驱动(四)的时候 有这样一个结构体初始化 我很不理解 如下:static struct s3c24xx_uart_port s3c24xx_serial_ports[NR_PORTS] = {14 [0] = {15 .port = {16 .lock = SPIN_LOCK_UNLOCKED,17 .iotype = UPIO_MEM,18 .irq = IRQ_S3CUART_RX0,19 .uartclk = 0,20 .fifosize = 16,21 .ops = &s3c24xx_serial_ops,22 .flags = UPF_BOOT_AUTOCONF, 阅读全文
posted @ 2013-08-02 09:05 飞奔的猪 阅读(626) 评论(1) 推荐(0)
基本数据类型
摘要:基本类型包括字节型(char)、整型(int)和浮点型(float/double)。定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对于int、double)对变量的取值区间和精度进行说明。下面列举了基本类型所占位数和取值范围:符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d... 阅读全文
posted @ 2013-06-02 11:26 飞奔的猪 阅读(166) 评论(0) 推荐(0)
linux内核进程调度以及定时器实现机制
摘要:2.6版以前内核进程调度机制简介Linux的进程管理由进程控制块、进程调度、中断处理、任务队列、定时器、bottom half队列、系统调用、进程通信等等部分组成。进程调用分为实时进程调度和非实时进程调度两种。前者调度时,可以采用基于动态优先级的轮转法(RR),也可以采用先进现出算法(FIFO)。后者调度时,一律采用基于动态优先级的轮转法。某个进程采用何种调度算法由改进程的进程控制块中的某些属性决定,没有专门的系统用来处理关于进程调度的相关事宜。Linux的进程调度由schedule()函数负责,任何进程,当它从系统调用返回时,都会转入schedule(),而中断处理函数完成它们的响应任务以后 阅读全文
posted @ 2013-06-02 11:24 飞奔的猪 阅读(869) 评论(0) 推荐(0)
C/C++程序内存泄漏检测
摘要:1. 包含头文件和定义:#define _CRTDBG_MAP_ALLOC#include <stdlib.h>#include <crtdbg.h>如果定义了_CRTDBG_MAP_ALLOC,打印出来的是文件名和行数等更加直观的信息。2. 方法一在程序入口写几个语句: int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); tmpFlag |= _CRTDBG_LEAK_CHECK_DF; _CrtSetDbgFlag( tmpFlag );程序退出时,如果发现有内存泄漏,会自动在DEBUG OUTPUT窗口和Deb 阅读全文
posted @ 2013-06-02 11:21 飞奔的猪 阅读(243) 评论(0) 推荐(0)
一个动态内存管理模块的实现
摘要:北京恒基伟业电子产品有限公司 徐 文 来自:单片机与嵌入式系统应用 摘要:介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C语言开发环境的各种平台。关键词:C语言 动态内存 内存泄漏 写越界引言当 前,绝大多数嵌入式平台上的软件都采用C语言编写。除了代码简洁、运行高效之外,灵活操作内存的能力更是C语言的重要特色。然而,不恰当的内存操作通常也 是错误的根源之一。如“内存泄漏” ——不能正确地释放已分配的动态内存,就是一种非常难于检测的存错误。持续的内存泄漏会使程序性能下降到最终完全不能运行,进而影响到所有其它有动态内存 需求的程序,在某些相对简单的嵌入式 阅读全文
posted @ 2013-06-02 11:20 飞奔的猪 阅读(257) 评论(0) 推荐(0)
linux下的内存管理
摘要:动态分配的选择、折衷和实现级别: 中级Jonathan Bartlett (johnnyb@eskimo.com) 技术总监, New Media Worx2004 年 11 月 本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来 阅读全文
posted @ 2013-06-02 11:17 飞奔的猪 阅读(170) 评论(0) 推荐(0)
宏的妙用
摘要:1、概述 C++中出了const关键字以后,宏定义常量的功能已经不在被推荐使用。这使得宏似乎没有了用武之地。实际上,宏还可以做很多事情,笔者也难以全部列举。这里,仅仅列举几个典型的用法,希望大家能够从中获益。 2、实现多环境兼容 常见的情况是,我们实现了一个函数,希望它只在某种编译条件满足是被编译和使用。例如,我希望在源码中插入调试语句,以便以Debug方式运行时能够通过调试信息观察程序运行情况。但是,在产品发售给用户时,我又希望这些调试信息不要输出,以降低代码尺寸,提高运行性能。 这一问题的解决方法就是使用宏。根据条件编译指令,对于不同的编译条件,提供不同的实现。例如:我们希望在特定的位置向 阅读全文
posted @ 2013-06-02 11:08 飞奔的猪 阅读(288) 评论(0) 推荐(0)
static/extern/const等释疑
摘要:njustcxy(原作)下面关于C++的几个关键字是经常和我们打交道的而我们又经常对这些含糊不清的,本文根据自己的学习体会作以总结,以期达到真正理解和活用的目的。staticl 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。l 静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。l 在函数体内生成的静态变量它的值也只能维持int max_so_far( int curr )//求至今(本次调用)为止最大值{ static int biggest; //该变量保持着每次调用时的最新值,它的有效期等 阅读全文
posted @ 2013-06-02 11:06 飞奔的猪 阅读(163) 评论(0) 推荐(0)
预定义知识
摘要:1. 宏指令:#define #error #import #undef #elif #if #include #else #ifdef #line #endif #ifndef #pragma2.#define#define WIDTH 80#define LENGTH (WIDTH+10)#define test(f1,f2) (f1*f2)3.#error#error 语言符号字符串采用error指令可产生编译错误信息#if !defined(NUM_TEN)#error ten is not defined.#endif当遇到#error指令时,编译终止3.#if,#elif,#els 阅读全文
posted @ 2013-06-02 11:01 飞奔的猪 阅读(317) 评论(0) 推荐(0)
想成为嵌入式程序员应知道的0x10个基本问题
摘要:C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在嵌入式系统上。如果上述任何问题的答案是"是"的话,那么我知道我得认真考虑我是否应该去 阅读全文
posted @ 2013-06-02 10:57 飞奔的猪 阅读(175) 评论(0) 推荐(0)
彻底搞定C指针
摘要:要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧! 先来理解理解内存空间吧!请看下图:内存地址→ 6 7 8 9 10 11 12 13----------------------------------------------------------------- ··· | | | | | | | |··-----------------------------------------... 阅读全文
posted @ 2013-06-02 10:50 飞奔的猪 阅读(164) 评论(0) 推荐(0)