一、python 管理包(模块和包的应用) 1.1 python管理包 1.1.1 distutils distutils是Python标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式,同时为使用者提供方便的安装方式。 在distutils中描述扩展模块较纯python模块要复杂一些,其 ...
分类:
编程语言 时间:
2020-03-06 17:39:58
阅读次数:
102
前文我们讲了iptables的扩展匹配,一些常用的扩展模块以及它的专有选项的使用和说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12285152.html;今天我们来说说iptables的处理动作;iptables的处理动作分基本处理动作和扩展处理动作, ...
分类:
系统相关 时间:
2020-02-09 23:34:16
阅读次数:
98
楔子 我们都知道python的效率很低,但是好在可以和C语言无缝结合,C语言写好扩展模块之后再让python去调用简直不要太方便。但是使用C编写扩展模块也不是件容易的事情,于是笔者想到了go,go的效率虽然不如C,但是也没有逊色太多。而且go毕竟是一门高级语言,丰富的标准库、数据类型,编写扩展模块比 ...
分类:
编程语言 时间:
2020-02-09 09:40:39
阅读次数:
180
楔子 编写扩展模块,需要有python源码层面的知识,我们之前介绍了python中的对象。但是对于编写扩展模块来讲还远远不够,因为里面还需要有python中模块的知识,比如:如何创建一个模块、如何初始化python环境等等。因此我们还需要了解一些前奏的知识,如果你的python基础比较好的话,那么我 ...
分类:
编程语言 时间:
2020-02-07 00:50:22
阅读次数:
73
楔子 我们知道可以通过使用C语言编写动态链接库的方式来给python加速,但是方式是通过ctypes来加载,通过类CDLL将动态链接库加载进来得到一个对象之后,通过这个对象来调用动态链接库里面的函数。那么问题来了,我们可不可以使用C语言为python编写模块呢?然后在使用的时候不使用ctypes加载 ...
分类:
编程语言 时间:
2020-02-01 10:54:51
阅读次数:
75
Jenins Jenins 是一个用来帮助运维研发生命周期提高效率的BS架构的管理软件,功能强大提供多种扩展模块来完成一系列工作,Jenkins 主要可以根据相关环境对运维人员减少频繁的人力工作,减少失误,减少人力消耗,提高工作效率与质量 CI/CD,DevOps 持续集成(Continuous I ...
分类:
其他好文 时间:
2020-01-31 12:30:40
阅读次数:
97
C语言中的回调函数 什么是回调函数我就不介绍了,我们先来看看C语言中如何使用回调函数。 函数指针 不过在看回调函数之前,我们先看看如何把一个函数赋值给一个变量。准确的说,是让一个指针指向一个函数,这个指针叫做函数指针。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数 ...
分类:
其他好文 时间:
2020-01-30 17:01:05
阅读次数:
387
传递数组 楔子 下面我们来看看如何使用ctypes传递数组,这里我们只讲传递,不讲返回。因为C语言返回数组给python实际上会存在很多问题,比如:返回的数组的内存由谁来管理,不用了之后空间由谁来释放,事实上ctypes内部对于返回数组支持的也不是很好。因此我们一般不会向python返回一个C语言中 ...
分类:
编程语言 时间:
2020-01-30 09:25:09
阅读次数:
294
ctypes获取返回值 我们前面已经看到了,通过ctypes像扩展模块中的函数传参时是没有问题的,但是我们如何拿到返回值呢?我们之前都是使用printf直接打印的,但是这样显然不行,我们肯定是要拿到返回值去做一些别的事情的。那么我们看看如何使用ctypes获取函数的返回值。 获取整型返回值 ~~~c ...
分类:
其他好文 时间:
2020-01-29 15:44:36
阅读次数:
252
楔子 我们知道可以使用ctypes调用扩展模块,主要是调用扩展模块中使用C编写好的函数,但这些函数肯定都是需要参数的,还有返回值,不然编写扩展模块有啥用呢。那么问题来了,不同的语言变量类型不同,所以python能够直接往C编写的函数中传参吗?显然不行,所以ctypes还提供了大量的类,帮我们将pyt ...
分类:
编程语言 时间:
2020-01-28 17:34:35
阅读次数:
404