摘要:
static关键字 1.作用于变量: 用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺省的存储方式是自动变量或说是动态存储的,即指令执行到变量定义处时才给变量分配存储单元,跳出代码块时释放内存单元(生命期)。用static声明局部变量时,则改变变量的存储方式(生命期),使变量成为静态的局部变量,即编译时就为变量分配内存,直到程序退出才释放存储单元。这样,使得该局部变量有记忆功能,可以记忆上次的数据,不过由于仍是局部变量,因而只能在代码块内部使用(作用域不变)。 用static声明外部变量-------外部变量指在所有... 阅读全文
摘要:
面向开发者使用的最外层接口:OPENSSL_malloc(num)CRYPTO_malloc((int)num,__FILE__,__LINE__)OPENSSL_realloc(addr,num)CRYPTO_realloc((char*)addr, (int)num,__FILE__,__LINE__)OPENSSL_realloc_clean(addr,old_num,num)CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__)OPENSSL_remalloc(addr,num)CRYPTO_remalloc((char**)a 阅读全文
摘要:
Openssl 之大数运算函数 BN主要介绍Openssl中的有关大数运算函数,这个对于RSA研究和实现比较有价值1.初始化函数BIGNUM *BN_new(void); 新生成一个BIGNUM结构void BN_free(BIGNUM *a); 释放一个BIGNUM结构,释放完后a=NULL;void BN_init(BIGNUM *); 初始化所有项均为0,一般为BN_ init(&c)void BN_clear(BIGNUM *a); 将a中所有项均赋值为0,但是内存并没有释放void BN_clear_free(BIGNUM *a); 相当与将BN_free和BN_clear综 阅读全文