今天遇到一“怪事”: 程序正常输出几千条log信息,能全部输出,但是通过重定向到一个文件中时总是少那么几十条,尝试了输出:2000,3000条结果差不多。
后来小吴告诉我说是行缓冲的问题,果然如此,加上个fflush()就行了。
为什么会遇到这个问题?
1. 我们希望实现ISAKMP的椭圆曲线密钥交换,因此需要先实现椭圆曲线的基本运算,即:点+点和点*点。使用了sec的测试数据,但结果却始终不对,于是乎,在每次运算时,加上调试信息,将运算结果输出;
2. 今天终于算对了,我才会看到末尾的几十天信息的缺失。
庆祝下spec160r1测试通过,搞了我一个多星期的椭圆曲线。
记下这个公式: a mod b = a - b*(a/b)