- 博客(18)
- 收藏
- 关注
转载 头文件errno.h
简介:头文件errno.h定义了一个全局的宏errno,它被展开为一个int类型的“左值”,这意味着宏errno不一定是个对象的标识符,也可以展开为一个由函数返回的可以修改的“左值”,比如int *errno(),这个后面会讲,你可以暂且把它理解为一个全局的int型变量(
2011-09-26 12:29:31 4076 1
转载 如何为嵌入式开发建立交叉编译环境
随着消费类电子产品的大量开发和应用和Linux操作系统的不断健壮和强大,嵌入式系统越来越多的进入人们的生活之中,应用范围越来越广。在裁减和定制Linux,运用于你的嵌入式系统之前,由于一般嵌入式开发系统存储大小有限,通常你都要在你的强大的pc机上建立一个用于目标机的交叉编译环
2011-09-25 12:04:02 586
转载 expected unqualified-id before numeric constant
linux gcc 编译出错 “expected unqualified-id before numeric constant ”原因很可能是所有大写的名字常常被用于预处理宏, 不尊重命名空间范围,所以即使你在自己的命名空间上定义也会产生冲突。可以采用条件编译来测
2011-09-22 20:02:24 6471 1
原创 BIOS
BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。其主要是
2011-09-19 00:15:35 888
原创 插入排序
插入排序主要思想是:把要排序的数字插入到已经排好的数据中。(我自己理解的哈)。例如12356是已经排好的序,我们将4插入到他们中,时插入之后也是排好序的。这里显而易见是插入到3的后面。变为123456.实现思路:插入排序就是先是一个有序的数据,然后把要插入的数据插到指
2011-09-18 13:53:51 328
原创 指针和引用
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不
2011-09-17 15:47:04 456
C/C++中联合体(union)的使用
从两道经典试题谈C/C++中联合体(union)的使用试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式?分析:作为一个计算机相关专业的人,我们应该在计算机组成中都学习过什么叫Little endian和Big endi
2011-09-16 12:54:12 639
大小端
http://www.ffcs.cn/files/jsjl/%E6%B5%85%E6%9E%90solaris%E7%A7%BB%E6%A4%8D%E5%88%B0linux%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%AD%97%E8%8A%82%E5%BA%8
2011-09-16 09:08:50 1158
从AIX移植到Solaris案例分析
http://www.ibm.com/developerworks/cn/linux/porting/solaris/ghttp://www.ibm.com/developerworks/cn/linux/l-solar/http://wenku.it168.co
2011-09-15 17:32:38 1546
原创 c++ 隨機亂數 srand() 和rand()
所謂的「偽隨機數」指的並不是假的隨機數,這裡的「偽」是有規律的意思。其實絕對的隨機數隻是一種理想狀態的隨機數,計算機只能生成相對的隨機數即偽隨機數。計算機生成的偽隨機數既是隨機的又是有規律的 —— 一部份遵守一定的規律,一部份則不遵守任何規律。比如「世上沒有兩片形狀完全相同的樹葉
2011-09-15 09:51:31 3196
原创 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 650
原创 was not declared in this scop
在写一个非常简单的程序的时候,提示:“was not declared in this scope"。然后上网找答案。在下面的几种情况下,会出现这种错误。1.变量、函数、或者类未声明或者定义。这是最简单的情况。2.头文件相互#include时,导致了依赖关系错误。比如
2011-09-13 11:30:41 75130 1
原创 野指针
野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两
2011-09-09 15:47:19 786
原创 库函数调用和系统调用的区别
库函数是语言本身的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。你要确保弄懂“trap(自陷)”这个关键字的含义。系统调用是在操作系统内核发现一个“trap”或中断后进行的(其中系统调用是
2011-09-09 15:41:07 336
原创 初始化和赋值的区别
区别说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。int a=12 ; //初始化, copy 0X000C to a a =12 ; //赋值, copy 0X000C to a
2011-09-09 08:58:58 970
原创 从 Solaris 向 Linux 移植应用程序的技术指导
移植概述移植过程本身非常简单:清理代码和头文件,并删除与体系结构相关的部分和非标准做法。编译代码,并修正在编译过程中发现的问题。如果需要,则修正段故障及未对齐的访问。重新编译代码,如果需要,则重复上面的过程。回页首移植指导
2011-09-05 12:47:45 1881
原创 构建ARM Linux交叉编译工具链
读者可能会有疑问,为什么要用交叉编译器?交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台
2011-09-02 18:05:03 1395 1
原创 内存一致性
示例代码: 1internal sealed class CacheCoherencyProblem 2{ 3 private Byte m_initialized = 0; 4 private Int32 m_value = 0; 5
2011-09-02 12:49:25 684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人