yyyyyyyyyyyyyyyyyyyy

博客园 首页 新随笔 联系 订阅 管理

2014年11月6日 #

摘要: C/C++嵌入式开发面试题预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语... 阅读全文
posted @ 2014-11-06 12:34 xxxxxxxx1x2xxxxxxx 阅读(390) 评论(0) 推荐(0)

摘要: C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。指定的初始化很多人都知道像这样来静态地初始化数组:1int fibs[] = {1, 1, 2, 3, 5};C99标准实际上支... 阅读全文
posted @ 2014-11-06 12:32 xxxxxxxx1x2xxxxxxx 阅读(352) 评论(0) 推荐(0)

摘要: inline大学在教科书上学习过inline函数,定义为inline函数之后,会省去函数调用的开销,直接嵌套汇编代码,取代函数调用,提高效率。工作后项目中也很少用到inline来定义函数,近几天在研读google的google c++ style guide,发现之前自己对inline函数的认识太过... 阅读全文
posted @ 2014-11-06 12:32 xxxxxxxx1x2xxxxxxx 阅读(151) 评论(0) 推荐(0)

摘要: 预处理器标识#error的目的是什么啊?指令 用途 # 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 ... 阅读全文
posted @ 2014-11-06 12:26 xxxxxxxx1x2xxxxxxx 阅读(588) 评论(0) 推荐(0)

摘要: 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器... 阅读全文
posted @ 2014-11-06 12:15 xxxxxxxx1x2xxxxxxx 阅读(1663) 评论(0) 推荐(0)

摘要: 如何优化C语言代码(程序员必读)5、减少运算的强度可以使用运算量小但功能相同的表达式替换原来复杂的的表达式。如下:(1)、求余运算。 a=a%8;可以改为: a=a&7;说明:位操作只需一个指令周期即可完成,而大部分的C编译器的“%”运算均是调用子程序来完成,代码长、执行速度慢。通常,只... 阅读全文
posted @ 2014-11-06 12:12 xxxxxxxx1x2xxxxxxx 阅读(256) 评论(0) 推荐(0)

摘要: 柔性数组成员柔性数组1、允许结构中包含一个大小可变的数组,sizeof返回的这种结构大小不包括柔性数组的内存。2、包含柔性数组成员的结构要使用malloc()函数进行内存的动态分配。分配的内存大于结构体的大小。3、柔性数组的定义typedef strcut type{ int i; int a[];... 阅读全文
posted @ 2014-11-06 12:08 xxxxxxxx1x2xxxxxxx 阅读(436) 评论(0) 推荐(0)

摘要: 常用数据类型对应字节数:这两台机器,前者32位,后者64位,测试了以下数据类型的长度:前者:int:4,long:4,long long:8后者:int:4,long:8,long long:8不是说int会变吗,为何变得是long?还有如果要写个通用的程序,订死必须用4个或8个字节的数据类型,在不... 阅读全文
posted @ 2014-11-06 12:05 xxxxxxxx1x2xxxxxxx 阅读(596) 评论(0) 推荐(0)

摘要: 不明白的sizeof(enum)数据结构存储问题typedef struct weekday_st{ enum week {sun=123456789,mon,tue,wed,thu,fri,sat,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,... 阅读全文
posted @ 2014-11-06 11:56 xxxxxxxx1x2xxxxxxx 阅读(1293) 评论(0) 推荐(0)

摘要: union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachi... 阅读全文
posted @ 2014-11-06 11:44 xxxxxxxx1x2xxxxxxx 阅读(1633) 评论(0) 推荐(0)

摘要: python——获取数据类型 在python中,可使用type()和isinstance()内置函数获取数据类型 如: (1)type()的使用方法: >>> a = '230' >>> type(a) <class 'str'> >>> a = 230 >>> type(a) <class 'in 阅读全文
posted @ 2014-11-06 11:42 xxxxxxxx1x2xxxxxxx 阅读(370) 评论(0) 推荐(0)

摘要: 字符串、字符数组输入、输出与'\0'的问题原创首发,欢迎转载!作者按字符串、字符数组以"%s"格式输入时,以遇到'空格'为这个字符串输入结束。字符串、字符数组以"%s"格式输出时,以遇到的第一个'\0'为输出结束标记!C程序设计(谭浩强,第二版,P134)**********************... 阅读全文
posted @ 2014-11-06 11:33 xxxxxxxx1x2xxxxxxx 阅读(615) 评论(0) 推荐(0)

摘要: delete 阅读全文
posted @ 2014-11-06 11:18 xxxxxxxx1x2xxxxxxx 阅读(158) 评论(0) 推荐(0)

摘要: C语言编程规范6 函数与过程6.1 函数的功能与规模设计函数应当短而精美,而且只做一件事。不要设计多用途面面俱到的函数,多功能集于一身的函数,很可能使函数的理解、测试、维护等变得困难。6.2 函数的返回值(1)对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置。(单入口单出口)。... 阅读全文
posted @ 2014-11-06 11:15 xxxxxxxx1x2xxxxxxx 阅读(436) 评论(0) 推荐(0)

摘要: 内核时注意到有些函数会有添加__attribute__((unused)),在gcc手册中找到了有关的解释:unused:This attribute, attached to a function, means that the function is meant to be pos... 阅读全文
posted @ 2014-11-06 11:06 xxxxxxxx1x2xxxxxxx 阅读(202) 评论(0) 推荐(0)

摘要: 在c++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数。 可能说到这里,很多人还不明白什么是栈空间,其实栈空间就是指放置程序的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,如果频繁大量的使用就会造成因栈空间不足所造... 阅读全文
posted @ 2014-11-06 11:05 xxxxxxxx1x2xxxxxxx 阅读(251) 评论(0) 推荐(0)

摘要: UNICODE,GBK,UTF-8区别UNICODE,GBK,UTF-8区别简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设u... 阅读全文
posted @ 2014-11-06 11:04 xxxxxxxx1x2xxxxxxx 阅读(5995) 评论(0) 推荐(0)

摘要: Pandas pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。 >>> from pandas import Seri 阅读全文
posted @ 2014-11-06 10:40 xxxxxxxx1x2xxxxxxx 阅读(210) 评论(0) 推荐(0)

摘要: 通常的技巧是使用一个指针: int x = 1; if(*(char *)&x == 1) printf("little-endian\n"); else printf("big-endian\n");或者一个union: union { int i; char c[si... 阅读全文
posted @ 2014-11-06 10:36 xxxxxxxx1x2xxxxxxx 阅读(1410) 评论(0) 推荐(0)

摘要: 什么是结构体? 简单的来说,结构体就是个能够包含不同数据类型的一个结构,他是一种能够自己定义的数据类型,他的特点和数组主要有两点不同,首先结构体能够在一个结构中声明不同的数据类型,第二相同结构的结构体变量是能够相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,他本身不是数据类型(而... 阅读全文
posted @ 2014-11-06 10:34 xxxxxxxx1x2xxxxxxx 阅读(247) 评论(0) 推荐(0)

摘要: 读书笔记之:C语言深度剖析《C 语言深度解剖》这本书是一本“解开程序员面试笔试的秘密”的好书。作者陈正冲老师提出“以含金量勇敢挑战国内外同类书籍”,确实,这本书中的知识点都是一些在面试中常见的考点,并且很多都是我们平常不注意的点,对于我们深入理解C语言确实很有帮助。第1章关键字1.register虽... 阅读全文
posted @ 2014-11-06 10:32 xxxxxxxx1x2xxxxxxx 阅读(309) 评论(0) 推荐(0)

摘要: 启动一个C语言程序时,操作系统环境负责打开三个文件,并将这3个文件的指针提供给该程序。这3个文件分别为标准输入(stdin)、标准输出(stdout)、标准错误(stderr)。它们在stdio.h中声明,大多数环境中,stdin指 ...启动一个C语言程序时,操作系统环境负责打开三个文件,并将这3... 阅读全文
posted @ 2014-11-06 10:30 xxxxxxxx1x2xxxxxxx 阅读(304) 评论(0) 推荐(0)

摘要: #line 的作用是改变当前行数和文件名称,它们是在编译程序中预先定义的标识符命令的基本形式如下: #line number["filename"]其中[]内的文件名可以省略。例如: #line 30 a.h其中,文件名a.h 可以省略不写。这条指令可以改变当前的行号和文件名,例如上面的这条预处理指... 阅读全文
posted @ 2014-11-06 10:27 xxxxxxxx1x2xxxxxxx 阅读(448) 评论(0) 推荐(0)

摘要: C++常用排序法研究2008-12-25 14:38首先介绍一个计算时间差的函数,它在头文件中定义,于是我们只需这样定义2个变量,再相减就可以计算时间差了。函数开头加上 clock_t start = clock();函数结尾加上 clock_t end = cloc... 阅读全文
posted @ 2014-11-06 10:22 xxxxxxxx1x2xxxxxxx 阅读(619) 评论(0) 推荐(0)

摘要: 今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧。发现一篇讲得不错的文章,编辑了下转来供以后翻阅。C语言运算符优先级表(由上至下,优先级依次递减)运算符结合性() [] -> .自左向右! ~ ++ -- - (type) * & sizeof自右向左* / %自左向右... 阅读全文
posted @ 2014-11-06 10:20 xxxxxxxx1x2xxxxxxx 阅读(581) 评论(0) 推荐(0)