![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 81
liuchao1986105
这个作者很懒,什么都没留下…
展开
-
extern "C"
extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。 (1) 被extern "C"限定的函数或变量是extern类型的 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住原创 2011-06-22 20:59:00 · 473 阅读 · 0 评论 -
嵌入式经典面试题
预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #原创 2011-08-23 22:29:04 · 766 阅读 · 0 评论 -
插入排序
插入排序主要思想是:把要排序的数字插入到已经排好的数据中。(我自己理解的哈)。例如12356是已经排好的序,我们将4插入到他们中,时插入之后也是排好序的。这里显而易见是插入到3的后面。变为123456.实现思路:插入排序就是先是一个有序的数据,然后把要插入的数据插到指原创 2011-09-18 13:53:51 · 320 阅读 · 0 评论 -
linux一站式
http://hi.baidu.com/wenlei168/blog/item/c24a0621003928aa4623e885.htmlman 和computer的取值只能是0 1 2,那么man - computer 的结果可以是1,-2 0原创 2011-09-13 23:42:00 · 640 阅读 · 0 评论 -
指针和引用
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不原创 2011-09-17 15:47:04 · 444 阅读 · 0 评论 -
C/C++中联合体(union)的使用
从两道经典试题谈C/C++中联合体(union)的使用试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式?分析:作为一个计算机相关专业的人,我们应该在计算机组成中都学习过什么叫Little endian和Big endi2011-09-16 12:54:12 · 625 阅读 · 0 评论 -
c++ 隨機亂數 srand() 和rand()
所謂的「偽隨機數」指的並不是假的隨機數,這裡的「偽」是有規律的意思。其實絕對的隨機數隻是一種理想狀態的隨機數,計算機只能生成相對的隨機數即偽隨機數。計算機生成的偽隨機數既是隨機的又是有規律的 —— 一部份遵守一定的規律,一部份則不遵守任何規律。比如「世上沒有兩片形狀完全相同的樹葉原创 2011-09-15 09:51:31 · 3181 阅读 · 0 评论 -
was not declared in this scop
在写一个非常简单的程序的时候,提示:“was not declared in this scope"。然后上网找答案。在下面的几种情况下,会出现这种错误。1.变量、函数、或者类未声明或者定义。这是最简单的情况。2.头文件相互#include时,导致了依赖关系错误。比如原创 2011-09-13 11:30:41 · 74680 阅读 · 1 评论 -
野指针
野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两原创 2011-09-09 15:47:19 · 780 阅读 · 0 评论 -
库函数调用和系统调用的区别
库函数是语言本身的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。你要确保弄懂“trap(自陷)”这个关键字的含义。系统调用是在操作系统内核发现一个“trap”或中断后进行的(其中系统调用是原创 2011-09-09 15:41:07 · 332 阅读 · 0 评论 -
初始化和赋值的区别
区别说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。int a=12 ; //初始化, copy 0X000C to a a =12 ; //赋值, copy 0X000C to a原创 2011-09-09 08:58:58 · 934 阅读 · 0 评论 -
内存一致性
示例代码: 1internal sealed class CacheCoherencyProblem 2{ 3 private Byte m_initialized = 0; 4 private Int32 m_value = 0; 5原创 2011-09-02 12:49:25 · 674 阅读 · 0 评论 -
volatile关键字
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 使用该关键字的例子如下:原创 2011-07-03 19:14:50 · 327 阅读 · 0 评论 -
内存的静态分配和动态分配的区别
内存的静态分配和动态分配的区别主要是两个: 一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。 二是空间不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局原创 2011-08-27 12:04:13 · 27764 阅读 · 10 评论