Technology
文章平均质量分 57
lemon_fantasy
这个作者很懒,什么都没留下…
展开
-
两道c语言题目---嵌入式linux开发经验
1> 如何判断一个板子的cpu 是big-endian 还是 Little-endian的? 用c实现非常简单,10行左右,就可以判断了, 关键考察新人是否了解了什么是endian ,big-endian与little-endian的区别在哪里, 如果这些不清楚,就算c再强,也是憋不出来的。判断endian : #include #include int main(void)转载 2008-07-04 11:04:00 · 917 阅读 · 0 评论 -
X Window 和GNOME、KDE
x window是类unix系统中,图形操作界面标准使用的用语,因为微软抢先注册了windows这个标准,所以只能用x window这个称呼.gnone&kde只是linux系统中提供图形操作界面的两种解决方案.都是使用x window这个标准来显示图形界面. 在Linux的桌面环境下有两套基本的桌面主题控制器 --- Gnome和KDE。但是它们并不是最终的主题,它们只是规定了主题的接口转载 2008-09-18 21:47:00 · 873 阅读 · 0 评论 -
函数可重入的概念
可重入的概念 主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。 也可以这样理解,重转载 2008-07-01 21:16:00 · 679 阅读 · 0 评论 -
UART,SPI,I2C总线
第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Un转载 2008-07-02 10:54:00 · 769 阅读 · 0 评论 -
关于“#ifdef __cplusplus”
#ifdef __cplusplus //表示如果当前是以C++形式进行编译 extern "c"//表示以兼容于C形式编译 { #endif …… …… #ifdef __cplusplus } #endif 详细信息在MSDN转载 2008-07-03 10:01:00 · 2283 阅读 · 0 评论 -
References and const
References and const addthis_pub = techinsights;addthis_logo = http://www.techinsights.com/images/Img_TechInsightsLogo1.jpg;addthis_logo_background = EFEFFF;addthis_logo_color = 66669转载 2008-07-03 13:28:00 · 819 阅读 · 0 评论 -
C语言学习
1. 为什么sizeof 返回的值大于结构的期望值, 是不是尾部有填充? 为了确保分配连续的结构数组时正确对齐, 结构可能有这种尾部填充。即使结构不是数组的成员, 填充也会保持, 以便sizeof 能够总是返回一致的大小。2. 我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。为什么如下的代码((int *)p)++; 不行? 在C 语言中, 类型转换意原创 2008-07-05 10:35:00 · 703 阅读 · 0 评论 -
指针学习
1 常量指针!如 int b, c; int * const a = &b; 表示a是一个常量指针它指向变量b的内存。但是因为是常量指针所以不能再用a指向其他变量,如 a = &c; 错误!可以修改指向内存的值,如:*a = 20; 常量指针声明的时候必须向我那样赋初值。 2 指向常量的指针!如 int b, c; int const *a; a = &b;转载 2008-07-04 12:14:00 · 453 阅读 · 0 评论 -
指针的强制类型转换
先看下面的例子 #include int main(void){ int *ip; int a[2]={0x301,0x44444444}; ip = a; printf("*ip=%x, *(ip+1)=%x/n",*ip,*(ip+1)); printf("*(char *)ip=%x, *((char转载 2008-09-27 14:52:00 · 4639 阅读 · 0 评论 -
heap和stack
从堆和栈的功能和作用来通俗的比较,堆主要用来存放对象的,栈主要是用来执行程序的。而这种不同又主要是由于堆和栈的特点决定的:在编程中,例如C/C++中,所有的方法调用都是通过栈来进行的,所有的局部变量,形式参数都是从栈中分配内存空间的。实际上也不是什么分配,只是从栈顶向上用就行,就好像工厂中的传送带(conveyor belt)一样,Stack Pointer会自动指引你到放东西的位置,你所要做转载 2008-07-03 10:42:00 · 708 阅读 · 0 评论 -
C语言测试
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2) 懂得预处理器将为你计算常数表达式转载 2008-07-02 21:16:00 · 1443 阅读 · 0 评论 -
全局变量和函数的声明
首先, 尽管一个全局变量或函数可以(在多个编译单元中) 有多处“声明”, 但是“定义” 却只能允许出现一次。定义是分配空间并赋初值(如果有) 的声明。最好的安排是在某个相关的.c 文件中定义, 然后在头文件(.h) 中进行外部声明, 在需要使用的时候, 只要包含对应的头文件即可。定义变量的.c 文件也应该包含该头文件, 以便编译器检查定义和声明的一致性。 这条规则提供了高度的可移转载 2008-07-05 10:15:00 · 1966 阅读 · 1 评论 -
指针、结构体、联合体的安全规范
指针、结构体、联合体的安全规范来源:单片机及嵌入式系统应用 作者:清华大学 张乐平 邵贝贝 指针赋予了C编程最大的灵活性;结构体使得C程序整齐而紧凑;联合体在某些要求注重效率的场合有精彩的表现,这三个要素是C语言的精华。 然而,精华并不意味着完美,C语言在赋予程序员足够灵活性的同时,也给了程序员很多犯错误的机会。所以有必要关注指针、结构体和联合体的实现细节,从而保障程序转载 2008-07-07 22:40:00 · 1115 阅读 · 1 评论 -
关于B/S和C/S架构的探析
一、 什么是C/S和B/S 要想对“C/S”和“B/S”技术发展变化有所了解,首先必须搞清楚三个问题。 第一、什么是C/S结构。C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用转载 2008-07-09 11:33:00 · 827 阅读 · 0 评论 -
NOR flash和NAND flash的区别
NOR flash和NAND flash的区别NOR flash和NAND flash的区别 一般而言,flash分为nor和nand2种,简单的说就是用or门和and门搭建的2种flash。目前用为海量存储器的flash都是nand结构,而一些当成rom使用的flash为nor结构。intel也在将nand flash向pc主存储器方向推广,目前的产业能力也预示着这并不是转载 2008-08-22 16:21:00 · 1029 阅读 · 0 评论 -
网线制作
先介绍一下网线接头的标准:正向线:(俗称:直通线 网络标准名称:568B)有交换机和HUB情况下用的反向线:(俗称:交叉线 网络标准名称:568A)在家里没有交换机和HUB的情况下用的直通的就是水晶头两头的接发按照t586b的接法 交叉的的一头按照t586b,另一端按照t586a的接法 制作方法:两个水晶头不样,t586b的接法:橙白,橙色,绿白,蓝原创 2008-09-02 11:45:00 · 631 阅读 · 0 评论 -
无线网卡和本地连接一起用
无线网卡和本地连接可以一起用吗?用无线上网的同时,又要本地连接检测机器,能否做到网络不掉线呢?有线连接链路状态好,会优先走有线链路,你可以把有线连接的网关去掉,这样可以保证到内网走有线链路,上公网走无线。不能上的原因是你的网关是两个!本地的网卡用来连接公司,不要设置网关!只要能和局域网的计算机通信就可以啦。然后你用你的无线网上网,这样可以少受一些限制!原创 2008-09-03 12:39:00 · 7421 阅读 · 0 评论 -
有关指向指针的指针
采用指向指针的指针操作,一般用于在函数内部来改变采用指针方式传进函数的主函数的指针的指向 我们想在函数pro()中改变指针p的值(记住:是指针p的值,而不是p所指向的地址的值)。能实现吗?结果是不能,为什么?我们来分析一下 先看一个例子: #include char buf转载 2008-09-06 12:13:00 · 600 阅读 · 0 评论 -
ARM---RO, RW, ZI
.text段是代码段。它用来放程序代码(code)。它通常是只读的(程序代码,编译好了就确定了,不可能改来改去的嘛)。.data段是数据段。它用来存放初始化了的(initailized)全局变量(global)和初始化了的静态变量(static)。它是可读可写的。.bss段是全局变量数据段。它用来存放未初始化的(uninitailized)全局变量(global)和未初始化的静态变量(st转载 2008-07-01 20:39:00 · 938 阅读 · 0 评论 -
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。本人虽然在念书时就知道其基本的用法,而且在设计中并未遇的过问题。但是前两天有位同事向我问起了这个概念。我忽然觉得自己对其概念了解的并不系统。近日,忙里偷闲对其进行了下总结。 所谓开漏电路概念中提到的“漏”就是指MOS FET的漏极。同理,开集电路中的“集”就是指三极管转载 2008-07-01 21:20:00 · 1104 阅读 · 0 评论 -
CBR/VBR
CBR是以恒定的码率编码,因为家用DVD机需硬件解码,使用的是固化的硬件解码器,只能读取恒定码流的Mpeg文件,所以如果你刻录的光盘是在DVD机上观看,所以最好采用此种方式。 而VBR是指系统根据图像数据量改变的大小决定用多大的码率编码,这种格式的解码需软件调节,故刻录的光盘如果是在电脑的DVD光驱中播放可以采取这种方式。所以,有些刻录的DVD光盘虽然能在光驱中播放,到了DVD碟机无法播放不出转载 2008-10-26 17:38:00 · 663 阅读 · 0 评论