易截截图软件、单文件、免安装、纯绿色、仅160KB

规范化的C++编程方法备忘录 C/C++算数运算:

    已经知道的,不说了...大家都知道的,可以问问,查查资料。这里又放些附加建议:
1.基本算数运算:
  既然计算机里没有真正的整数,那么计算机里也没有真正的算数运算。
    取值范围:
  设a和b是两个占一样位宽的无符号整数,这种整数可取到最大值MAX:
    如果f1为一元运算,f2为二元运算,则先将计算机中的整数和运算扩展到 {0}UZ+ 域

      f1(a) = fz1(az) % MAXz,
         f2(a, b) = fz2(az, bz) % MAXz.
      其中MAXz=R(MAX) + 1.
    这些东西计算机系的应该知道的啦。即“有溢出可能的运算”或有穷域的取值问题
还有隐式转换、强制类型转换等。因为可查,略过。
    书写代码时很多书里建议......(这里主要谈括号的问题)。对于默认顺序,个人认为有些建议没有必要:
已知的先乘除,后加减;先算数,后逻辑。初中、高中的东西。很多建议将算数加括号,多此一举。自己该补课去。但如果代码很长那就是另外一回事了。还有,位运算一定要加括号。因为它们不是基本代数运算。
    加、乘、与、或运算也不满足交换率(尤其是对其他线程数据的读写运算)。
    如果某一小块代码区域集中了大量的代数运算,而上面这类问题对结果有很大影响,建议用类将整数包装一下(但不要太复杂,影响性能),以便能正确地处理进位截断问题。
    如果表达式中有超过一处使用同一变量,该变量是同时被多个线程存储的,要用本地临时变量拷贝取代表达式里所有的那个变量,以避免计算出莫名其妙的值。记住不要依赖编译器优化机制的隐含修改。
2.比较运算:
 - 比较符号的左右两边数据类型必须相同。如果不同,代码照常编译通过。但是数据类型一定是相等的,只是通过了隐式转换,这种转换有时会让你晕倒...
正确的代码
引用:
WORD a, b, c
...
if((WORD)(a+b) >= c) // Never thought that '(WORD)()' be unnecessary.
...
 - 比较必须完整,不


相关文档:

C bomb。。。。FML~~~

输出斐波那契数列前N个合数,四个一行,N由使用者输入,介于10到30之间。
#include<stdio.h>
#include<math.h>
int fab(int);
int judge(int);
int main()
{
int a[30]={0};
int i,n,t=0;
do
{
printf("Input the number\n");
scanf("%d",&n);
}
while(n>3 ......

extern extern “C”

extern是C/C++语言中表明函数和全局变量作用范围(可见性).
它告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。
1。对于extern变量来说,仅仅是一个变量的声明,其并不是在定义分配内存空间。如果该变量定义多次,会有连接错误
2。通常,在模块的头文件中对本模块提供给其它模块引用的函数和 ......

win7上的c和asm互调用

    最近在研究操作系统,《自己动手写操作系统》上第5章讲了asm和c函数之间互调用,目的是使用c来写操作系统内核的代码,毕竟用汇编写代码还是很费时间的事。
    配置Linux开发环境实在是太麻烦,要装虚拟机,还要配置老半天。于是就想能都在windows环境下实现互调用,很自然的想到了ming ......

C程序:定义宏打印某位域共有多少位

#include <stdio.h>
#define bits(p, d) { \
int _tmp=p->d, _bits=0; \
for (p->d=1; p->d; p->d<<=1) \
_bits++; \
p->d=_tmp; \
printf("%s->%s has %d bits", #p, #d, _bits); \
}
typedef struct _s{
int a:4;
} S;
int main()
{
S tmp, ......

先安装系统 再分区 x300 没有光驱 安装win7 c盘分区

我给大家推荐一个 WIN7 下边的无损分区工具 Acronis Disk Director Suite
Acronis Disk Director Suite 下载地址
http://dl.iplaysoft.com/files/32.html
Acronis Disk Director Suite 注册机下载地址
注册机.rar
实在不放心,觉得注册机有毒的朋友可以使用以下序列号
LS6ZZ-YFQYY-667Z9-5ZQGP-P7WCP
5PRKN-9R4 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号