01 2011 档案
摘要:1,Macro参数使用括号,编译器报错:error: "(" may not appear in macro parameter list 。 MACRO((A),(B)) = MACRO(A,B)
阅读全文
摘要:是一道面试题,时间掐的比较紧就比较着急,然后弄了一堆判断,考下来后感觉自己特笨,这个当天下午想出来的……
阅读全文
摘要:继续分析词法分析的贪心法吧 前文; 如果这个语句可以运行的话,结果是什么,其实正确的断句是*a ++ ++ + *b,但是非常不幸,无法通过编译,所以我才用的是 *a ++ + ++ *b; 面试完去看了Tron,因为等不了那么晚,所以只看了2D版的,相信3D版的画面会更绚丽,中间留意了几个细节。 操作系统是UNIX-like,里面看到了ps | grep命令(没记错吧),查找一个不停播放的视频进程,然后kill掉它,后来男主角进入系统之前用了一个whoami,uname-a,分别是查看当前使用者ID跟系统信息,后来还有一个查看正在运行什么,我没看到,不知道是什么。 荧光蓝还是替代不了传统的C
阅读全文
摘要:是一个仿照ado的封转类来写的,用来简化我的开发,性能还没有测试过……欢迎拍砖。真正用的话,这里面还需要 sqlite3.def dll exp h lib 这五个文件,网上都有的。
阅读全文
摘要:这个代码在GCC中是不能编译通过的,断句之后是这样:(*a)++ + ++(*b),如果a、b不同的话,很好判断,相当于 a + (b+1),如果a、和b引用的是同一个数呢?可以通过gcc -S选项来查看,主要代码如下:代码根据C函数调用的机制,b会先进栈,然后是a,首先将a移动到eax寄存器,然后将a指向的整数值移动到eax寄存器,然后用同样的方法将b指向的整数值移动到edx寄存器,然后将b指向的值加1,移动到ecx,将b加载到edx寄存器,然后将ecx中的数据移动到b指向的内存位置(++(*b)),然后再费劲的将b指向的整数值加载到edx,计算调整后的值,并移动到ecx寄存器,然后将a的值
阅读全文
摘要:1,临界条件:索引值到达最大2,分割单元:X的参数参数说明:list,整数数组指针 a,参数的索引 n,数组的长度。 初始化:horner(list,0,n,x);
阅读全文
摘要:C math.h rand() 伪随机数也太假了啊,生成了这么多次,第一个数全是41,全是啊!!!!!!
阅读全文
摘要:我们一般用的就是临时变量法吧。形如:t = *a;*a = *b;*b = t;还可以这样:*a = *a ^ *b;*b = *a ^ *b;*a = *a ^ *b;也可以这样:*a = *a + *b;*b = *a - *b;*a = *a - *b;我想说的是,这样做的前提是如果 a = b ……这一切统统完蛋。
阅读全文
摘要:参考文章:①http://www.360doc.com/content/10/0907/16/169163_51891922.shtml②http://www.adp-gmbh.ch/win/misc/mingw/dll.html因为对IA32汇编格式不熟悉 - -! ,所以写了一些用C内嵌GNU汇编的代码来获取CPU的信息,想用VC来做界面,C函数用MinGW在Windows平台编译,完事遇到一个问题,gcc编译出来的dll文件VC无法识别,于是昨天晚上和今天下午都在查找资料,下面是我整理来的,不知道这样用合不合适啊,不合适你们砸我,谢谢,步骤:1,首先编译C,根据MinGW官网来的,当然它
阅读全文

浙公网安备 33010602011771号