随笔分类 -  C/C++

摘要:上周想找一些关于加密算法实现的参考资料,在《BigNum Math - Implementing Cryptographic Multiple Precision Arithmetic》这本书里提到了用LibTomMath这么个东西,可以表示大整数以及进行密码学中的一些常用运算,于是下载来试了试。发现里面数据结构设计就相当不错,也包含了所有需要的运算,说明文档也还不错。1. 生成静态库文件无论是说明文档(bn.pdf)还是网络上的资料,都说到了需要生成静态库,然后在工程中加入这个静态库方可使用LibTomMath的高精度整数和运算。vs2008中创建LibTomMath静态库的步骤:1)下载L 阅读全文
posted @ 2011-01-17 23:53 苏堤白堤杨公堤 阅读(2434) 评论(0) 推荐(0) 编辑
摘要:大家对于逗号操作符也可能有点腻了,但是有些场合确实相当有好处,首先了解一下逗号运算符的的用法: expression1,expression2,......,expressionN逗号操作符是将两个或多个表达式分隔开来,这些表达式自左向右逐个进行求值,整个逗号表达式的值是最后一个表达式的值。其优点可以看下面两个例子:例1:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->a=get_value();count_value(a);while(a& 阅读全文
posted @ 2010-11-25 19:47 苏堤白堤杨公堤 阅读(196) 评论(0) 推荐(0) 编辑
摘要:两个文件1.c和2.c1.c中的f1()为非static时,2.c只要申明一下就可调用了Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//------1.c-------void f1(){}//--end of 1.c---//------2.c-------externvoid f1();void f2(){ f1();}//--end of 2.c---当1.c中的f1()为static时,2.c只要需要增加Code highligh 阅读全文
posted @ 2010-11-17 00:20 苏堤白堤杨公堤 阅读(1227) 评论(3) 推荐(0) 编辑
摘要:C语言的数据类型有四种:整形、浮点型、指针、聚合类型(数组、结构等),其中整形家族的变量包括:char, int, short, long, enum等。浮点数家族包括float, double等。limits.h头文件对整形家族变量范围进行了宏定义。float.h定义了FLT_MAX, FLT_MIN, DBL_MAX, DBL_MIN。下面这张表搬运自维基百科。NameDescriptionTypical valueANSI standard minimum-or maximum magnitude valueCHAR_BITNumber of bits in a char8≥+8SCHA 阅读全文
posted @ 2010-11-16 20:42 苏堤白堤杨公堤 阅读(3671) 评论(6) 推荐(0) 编辑
摘要:端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endian和Little Endian也几乎引起一场战争。在计算机业界,Endian表示数据在存储器中的存放顺序。下文举例说明在计算机中大小端模式的区别。如果将一个32位的整数0x12345678存放到一个整型变量(int 阅读全文
posted @ 2010-11-03 20:06 苏堤白堤杨公堤 阅读(698) 评论(1) 推荐(0) 编辑
摘要:1. vec.begin()是容器的第0个元素,vec.end()是容器最后一个元素的下一个元素。 2. 添加元素(insert, push)也可能使迭代器失效,容器可能会重新分配内存。3. 删除元素也会使指向被删元素的迭代器失效;对于vec.erase(iter),容器vec中删除迭代器iter所指的元素,并返回iter的下一个元素。 4. 不要存储和使用vec.end()所返回的迭代器,因为插入和删除操作都会使其失效下面这段代码,在vs2008中会出错,iter成为悬垂指针,但是单步跟踪的时候却可以似乎可以看到erase后的iter;在vc6和gcc下运行正常,运行该语句后iter指向下一 阅读全文
posted @ 2010-11-03 00:38 苏堤白堤杨公堤 阅读(1336) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示