随笔分类 -  C语言

摘要: 阅读全文
posted @ 2013-08-25 16:17 c_cloud 阅读(1253) 评论(0) 推荐(0)
摘要:实现C/C++中的字符串操作函数是很练内功的,别看着这些函数很简单,自己实现起来,还是有许多地方需要考虑的,所以没独立写过的朋友,可以自己敲敲看 .--By Crazybabystrcpy:[cpp]view plaincopyprint?char*cb_strcpy(char*dst,constchar*src){assert((dst!=NULL)&&(src!=NULL));char*retAddr=dst;/**<retAddrisinstatic,charretAddr[]willinStack,So...*/while((*(dst++)=*(src++))! 阅读全文
posted @ 2013-04-18 16:16 c_cloud 阅读(875) 评论(0) 推荐(0)
摘要:端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endian和Little Endian也几乎引起一场战争。在计算机业界,Endian表示数据在存储器中的存放顺序。下文举例说明在计算机中大小端模式的区别。如果将一个32位的整数0x12345678存放到一 阅读全文
posted @ 2013-04-18 16:06 c_cloud 阅读(388) 评论(0) 推荐(0)
摘要:Virtually every embedded system uses interrupts; many support multitasking or multithreaded operations. These sorts of applications can expect the program's control flow to change contexts at just about any time. When that interrupt comes, the current operation gets put on hold and another funct 阅读全文
posted @ 2012-11-15 17:11 c_cloud 阅读(235) 评论(0) 推荐(0)
摘要:1. __attribute__机制GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。__attribute__语法格式为:__attribute__ ((attribute-list))其位置约束为:放于声明的尾部“;”之前。我们只讨论类型属性。其他信息参考 阅读全文
posted @ 2012-11-06 11:25 c_cloud 阅读(501) 评论(0) 推荐(0)
摘要:#include_next仅用于特殊的场合.它被用于头文件中(#include既可用于头文件中,又可用于.c文件中)来包含其他的头文件.而且包含头文件的路径比较特殊:从当前头文件所在目录之后的目录来搜索头文件.比如:头文件的搜索路径一次为A,B,C,D,E.#include_next所在的当前头文件位于B目录,那么#include_next使得预处理器从C,D,E目录来搜索#include_next所指定的头文件.gcc 在编译时如何去寻找所需要的头文件 :header file的搜寻会从-I开始然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJ 阅读全文
posted @ 2012-11-05 09:59 c_cloud 阅读(2602) 评论(0) 推荐(0)
摘要:__LINE__ 当前语句所在的行号, 以10进制整数标注.__FILE__ 当前源文件的文件名, 以字符串常量标注.__DATE__ 程序被编译的日期, 以”Mmm dd yyyy”格式的字符串标注.__TIME__ 程序被编译的时间, 以”hh:mm:ss”格式的字符串标注, 该时间由asctime返回.__STDC__ 如果当前编译器符合ISO标准, 那么该宏的值为1__STDC_VERSION__ 如果当前编译器符合C89, 那么它被定义为199409L, 如果符合C99, 那么被定义为199901L.__STDC_HOSTED__如果当前系统是”本地系统(hosted)”, 那么它被 阅读全文
posted @ 2012-11-02 16:56 c_cloud 阅读(391) 评论(0) 推荐(0)
摘要:1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构?#ifndef __INCvxWorksh#define __INCvxWorksh#if... 阅读全文
posted @ 2012-10-26 11:45 c_cloud 阅读(240) 评论(0) 推荐(0)