自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Jupyter Notebook 7+ 远程访问配置

Jupyter Notebook 7+的远程访问配置教程

2024-05-22 22:28:41 313 1

原创 模n的快速指数运算

不难发现,属于同一模n剩余类的数,乘任意一整数时,所得结果模n都相同。由乘法的交换律,我们可以发现更为广泛的规律:分别属于同一模n剩余类的两个数相乘所得的结果对n取模都相同。先用较为直白简单的方式实现模n的指数运算(以a为底数,b为指数,模n)现在,幂已经降为1,让底数1和乘数3相乘,结果模4,得到最后结果为3。模n,从而在不影响结果的情况下降低运算复杂度;首先,根据带余除法,对给定的任意正整数。为奇数,先将乘数乘底数,同时模n,使幂。,在每次进行指数运算时,可以先将底数。相乘,结果模n,得到最终结果。

2023-09-08 21:13:48 2185 1

原创 3DES加密算法实现

则3DES将执行单重DES加密,这样有利于实现时的兼容性,确保某些遗留的难以更新的应用能继续使用单重DES加密。如有错误和不足之处,敬请指正。形式1的优点在于,如果。

2023-09-02 22:03:50 352 1

原创 DES对称加密纯C语言实现

在MSVC2022环境下编译无问题。如有错误和不足之处,敬请指正。

2023-08-04 21:16:23 854 1

原创 glibc源码中weak_alias宏及其含义

此时由于STRONG宏的屏蔽作用,main.c源文件中的func函数没有参与编译,因此链接时选用func.c中的弱符号func。__cpoy__(arg) 起到的作用就是将函数的属性拷贝,所以__attribute_copy__(arg)起到的作用就是拷贝函数的属性。此时STRONG宏中的代码被打开,main.c源文件中的func函数参与了编译,因此链接时选用main.c中的强符号func。,它是gcc编译器的C语言拓展,当它作用于函数名时,会替代为函数的类型,包括返回值类型和参数类型。

2023-07-25 12:13:17 401

原创 GCC编译器函数属性声明之__attribute__((weak))

在func.c中,func()函数被修饰为了weak类型,而在main.c中的func()函数是strong类型。受制于STRONG宏,main.c中的func()不会被编译,所以链接时采用func.c中的弱符号。显然,是main.c中的强符号func覆盖了func.c中的弱符号。弱符号是指在程序中定义,但其地址可以被其他同名符号覆盖的符号。,子类继承后,可以对父类中的虚函数重写,重新提供一种实现。相结合,给函数起一个别名的同时,声明为弱符号。,与弱符号相对应的是强符号。另一个常见的应用场景,是和。

2023-07-24 21:06:33 266

原创 GCC编译器函数属性声明之__attribute__((alias (“target“)))

alias 属性导致函数声明将会作为另一个符号(函数)的别名被“触发”,该符号(函数)之前必须使用相同的类型进行声明,对于函数的参数,也必须具有相同的大小和对齐方式。如果a库的1.0.0版本是这种方式实现的,那么想要达到更改函数首字母为大写这个需求,需要修改源代码中相关部分,然后重新编译,发布1.0.1版本。至于为什么不是每个软件都各自维护一个静态库,这是考虑到实际情况,有些库的体积是相当大的,而且分开不好维护。首先可以想到的解决方案是,将源代码中函数名修改,重新编译静态库a,然后替换交付。

2023-07-24 16:09:46 331

原创 GCC编译器函数属性声明__attribute__((attribute-list))

在 GNU C 和 C++ 中,您可以使用函数属性来指定某些函数属性,这些属性可能有助于编译器优化调用或更仔细地检查代码的正确性。例如,您可以使用属性来指定函数从不返回 (noreturn)、仅根据其参数的值返回一个值 (const),或者具有 printf 样式的参数 (format)。使用函数属性声明时,需要用到关键字 __attribute__ ,它的格式如下: 其中的attribute-list内容,可以在gcc.gnu.org官方网站上找到详细的描述,欢迎各位读者阅读我个人解析的attribute

2023-06-14 22:51:05 189 1

原创 GCC编译器-c编译指令解析

非常常见的场景是,有的项目需要用到链接库,可能是静态链接库或动态链接库,而链接库生成时,就需要将源代码编译到目标文件阶段,然后将目标文件打包为链接库,这样其他程序就可以使用该库文件提供的函数或符号。这里的原因比较复杂,起初我认为是程序中使用了printf函数,因此去掉了printf函数,只是return 0,但这样产生的main.o文件依旧无法执行。crt1.o、crti.o、crtbegin.o、crtend.o、crtn.o是gcc加入的系统标准启动文件,对于一般应用程序,这些启动是必需的。

2023-06-12 23:19:11 1220 1

原创 公钥密码学中模运算的巧妙计算方法

简要分析模运算中等价类相互替换的原理

2023-06-11 15:29:50 232 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除