- 博客(12)
- 资源 (16)
- 收藏
- 关注
转载 typedef和define具体的详细区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#define语句中的数字9 写成字母g 预处理也照样带入。2)typedef是在编译时处理的。它在自己的作用域内给一个已经存在的类型一个别名,但是You cannot use the typedef spec
2011-03-31 15:45:00 1271
原创 WINCE下SOS驱动开发
********************************LoongEmbedded************************作者:LoongEmbedded(kandi)时间:2011.03.30类别:WINCE驱动开发********************************LoongEmbedded************************备注:系统是WINCE4.2移植过来的BSP包+S3C2440A1. SOSS.O.S.是国际莫尔斯电码救难信号,并非任何单字的
2011-03-30 12:21:00 1777
转载 逗号表达式
<br />表达式说明: c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60 <br /> 逗号表达式的形式如下: <br /> 表达式1,表达式2,表达式3,...... ,表达式n <br /> 逗号表达式的要领: <br /> (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。 <br /> (2)
2011-03-26 11:25:00 1502
原创 开机启动加载驱动过程中调用PostMessage函数出错
今天在WINCE5.0+S3C2440系统调试检测出租车是否载客的驱动的时候遇到这样的问题:发现在开机启动加载驱动过程中调用PostMessage函数时会导致调用的线程崩溃,比如如果下面的线程在创建时调用了:PostMessage(HWND_BROADCAST, MSG_TAXI_BUSY, 0, 1);//taxi idle就会弹出下面的信息:AKY=00000005 PC=8c2d54fc(NK.EXE+0x000d54fc) RA=8c2c0b38(NK.EXE+0x000c0b38) BVA=000
2011-03-25 14:47:00 1759
转载 如果C++程序要调用已经被编译后的C函数,该怎么办?
<br />C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字<br />与C 语言的不同。假设某个C函数的声明如下:<br />void foo(int x, int y);<br />该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同,C++程序不能直接调用C函数。C++提供了一个C连接交换指定符号extern“C”来解决这个问题。例如:<br />extern “C”<
2011-03-23 17:09:00 1670
转载 关键字static、const、volatile的作用
关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2、 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。大多数应试者能正确回答第一部分,一部分能正确回答第二部分,但是很少的人能
2011-03-23 16:34:00 4253 1
原创 字符串逆序和统计数据中有多少位是1
<br />void invert(char *str,int len)<br />{<br /> int i,j,n,temp;<br /> n=(len-1)/2;<br /> <br /> for(i=0;i<=n;i++)<br /> {<br /> j=len-1-i;<br /> <br /> temp=*(str+i);<br /> *(str+i)=*(str+j);<br /> *(str+j)=temp;<br /> }<br /> <br />}<br />int count
2011-03-23 16:33:00 1466
原创 阶乘算法简单实现
long int fac1(int n){ static long int f=1; f*=n; return f;}long int fac2(int n){ long int f=1; if(n==0|n==1) { return f; } else { f=n*fac2(n-1); }}void main(){ int i; for(i=1;i { printf("fac1[%d!]=%ld /n",i,fac1(i)); } printf("fac2[8!]=%ld /n",fac2(8));
2011-03-21 15:06:00 1714
原创 冒泡法和选择法排序
<br />#include <stdio.h><br />void bubble(int a[],int len)<br />{<br /> int i,j,t;<br /> for(j=0;j<len-1;j++)<br /> {<br /> for(i=0;i<len-1-j;i++)<br /> {<br /> if(a[i]>a[i+1])<br /> {<br /> t=a[i];<br /> a[i]=a[i+1];<br /> a[i+1]=t;<br />
2011-03-21 13:05:00 1786
原创 WINCE6.0+S3C2443下的usb function(功能)驱动
<br />********************************LoongEmbedded************************<br />作者:LoongEmbedded(kandi)<br />时间:2011.03.16<br />类别:WINCE驱动开发<br />********************************LoongEmbedded************************<br /> <br />注:这里提到的MDD层和PDD层是对于usb func
2011-03-16 15:39:00 6231 9
转载 WinCE CEDDK之Bus操作函数
<br />CEDDK提供了访问总线驱动(Bus Driver)的函数,在/CEDDK/DDK_BUS目录下面可以看到源代码。通过这些函数,可以获得操作总线设备的句柄,然后使用该句柄来对总线设备进行访问。<br />简单说一下总线驱动(Bus Driver),就是指控制或配置某一特定总线的驱动设备,该驱动不但可以对指定总线进行操作,还可以加载和卸载更上层的硬件驱动,通常被称为客户端驱动(Client Driver)。所以一般上层的客户端驱动(Client Driver)会使用CEDDK中的Bus函数来访问总
2011-03-09 16:37:00 1368
原创 WINCE电源管理
<br />********************************LoongEmbedded************************<br />作者:LoongEmbedded(kandi)<br />时间:2011.03.07<br />类别:WINCE嵌入式系统开发<br />********************************LoongEmbedded************************<br /> <br /> <br />1. WINCE电源管
2011-03-07 16:46:00 4210 3
MT6577+Android烧录了preloader之后无法启动和重新烧录系统问题与解决
2015-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人