C语言
ZenZenZ
如是相,如是性,如是体,如是力,如是作,如是因,如是缘,如是果,如是报,如是本末究竟。
展开
-
嵌入式C语言知识点
/*002*******************************************************************************************************003** 嵌入式程序员应知道的0x转载 2014-04-18 08:53:07 · 921 阅读 · 0 评论 -
const总结
1 指向const的指针使用指针定义的技巧,正如任何复杂的定义一样,是在标识符的开始处读它并从里向外读。c o n s t指定那个“最靠近”的。这样,如果要使正指向的元素不发生改变,我们得写一个像这样的定义:const int* x;从标识符开始,是这样读的: “ x是一个指针,它指向一个 const int。 ”这里不需要初始化,因为说x可以指向任何东原创 2015-03-05 10:17:50 · 379 阅读 · 0 评论 -
函数指针数组
extern void SmartPtr();static void* func1(void* arg);static void* func2(void* arg);static void* func3(void* arg);typedef void* (*SmartFun)(void* arg);static void transfer(SmartFun* fun);原创 2014-11-06 14:21:34 · 636 阅读 · 0 评论 -
BASE64算法
BASE64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据。这是一种可逆的编码方式。编码后的数据是一个字符串,其中包含的字符为:A-Z、a-z、0-9、+、/共64个字符:26 + 26 + 10 + 1 + 1 = 64。【注:其实是65个字符,“=”是填充字符】。64个字符需要6位来表示,表示成数值为0原创 2014-11-03 10:33:49 · 632 阅读 · 0 评论 -
一个简单的时钟
#include "common.h"#include extern void Clock();typedef struct _clock{ UCHAR year; UCHAR month; UCHAR day; UCHAR hour; UCHAR min; UCHAR second; UCHAR week; UCHAR status; UCHAR choice;}c原创 2014-10-30 11:24:16 · 434 阅读 · 0 评论 -
宏定义技巧
宏使用中的常见的基础问题1. 防止一个头文件被重复包含 #ifndef BODYDEF_H #define BODYDEF_H //头文件内容 #endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedef unsigned char boolean; /* Boolea转载 2014-10-30 16:38:09 · 888 阅读 · 0 评论 -
linux 时间2
日期时间篇asctimectimegettimeofdaygmtimelocaltimemktimesettimeofdaytimeasctime(将时间和日期以字符串格式表示)相关函数time,ctime,gmtime,localtime表头文件#include定义转载 2014-05-09 11:05:01 · 515 阅读 · 0 评论 -
linux 时间
简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct timespec1.1 time_t时间类型time_t类型在time.h中定义:[cpp] view plaincopyprint?转载 2014-05-09 11:01:46 · 453 阅读 · 0 评论 -
C语言宏定义技巧
C语言宏定义技巧 周四, 2008年 10月 09日 14:10 高级管理员 C/C++编程 - C语言基础 1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H //头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef u转载 2014-04-23 17:25:14 · 767 阅读 · 0 评论 -
从两道经典试题谈C/C++中联合体(union)的使用
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://21cnbao.blog.51cto.com/109393/120108从两道经典试题谈C/C++中联合体(union)的使用宋宝华 21cnbao sweek@21cn.com试题一:编写一段程序判断系统中的CPU是Little endian还是Big endia转载 2014-04-23 13:33:25 · 534 阅读 · 0 评论 -
揭秘 typedef四用途与两陷阱
揭秘 typedef四用途与两陷阱http://niehan.blog.techweb.com.cn/archives/325.html typedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: ty转载 2014-05-08 09:24:21 · 464 阅读 · 0 评论 -
GCC 的__attribute__机制
GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribu转载 2014-04-22 09:49:28 · 1066 阅读 · 0 评论 -
GCC 对C语言的扩展(1)
http://blog.csdn.net/celestialwy/article/details/1343763GNC CC 是一个功能非常强大的跨平台 C 编译器,它对 C 语言提供了很多扩展,这些扩展对优化、目标代码布局、更安全的检查等方面提供了很强的支持。本文把支持 GNU 扩展的 C 语言称为 GNU C。Linux 内核代码使用了大量的 GNU C 扩转载 2014-04-22 09:43:22 · 1013 阅读 · 0 评论 -
错误检查--Thinking in C++
改进的错误检查为本书其余部分改进错误检查是很方便的。用内联函数可以简单地包括一个文件而不用担心连接什么。到目前为止, assert( )宏已用于“错误检查”,但它真正用处是调试并终将被能够在运行时提供更多有用信息的东西代替。何况异常处理程序(在 1 7章介绍)已提供了更多的处理这些错误的有效的方法。这是预处理器仍然有用的另一个例子,因为 _ F I L E _和 _ L I原创 2015-03-13 09:56:06 · 519 阅读 · 0 评论