通过《一种让 Linux 上的 C/C++ 程序自带依赖库的打包方式》和《国产操作系统和 CPU 分类》两篇文章,介绍了一种针对 Linux 上的 C/C++ 程序的简化打包数量的方式,从一次打需要适配的操作系统和 CPU 组合数量的包,简化为 CPU 架构数 * 2 的数量,那么在准备编译环境的时候也就需要准备 CPU 架构数 * 2 个。 现在介绍一个打包工具 fpm ,这是一个 跨平...
国产操作系统和 CPU 分类
国产 操作系统 和 CPU 厂商数量繁多,令人眼花缭乱,如果你做一款 C/C++ 软件需要适配国产的各种操作系统和 CPU,打包时针对每一种操作系统和 CPU 的组合都要打一个包的话,那么每一次打包的数量可能会多达数十个,光是编译环境的准备都需要耗费大量的时间,这无疑是令人难以接受的。 但是万变不离其宗,如果经过仔细分析的话,会发现这些操作系统和 CPU 都是从现有的体系中衍生出来的,而不...
一种让 Linux 上的 C/C++ 程序自带依赖库的打包方式
Linux 上的 C/C++ 程序编译打包后拿到 同 CPU 架构 的其他 Linux 系统上运行时,通常会由于目标系统上缺少该程序所需的库而无法运行。 这个问题在一个连接上互联网的 Linux 系统上可以很容易的通过 yum 或 apt 安装缺少的依赖库来解决,但是如果是在一个无法使用 yum 和 apt 的内网系统上,则非常麻烦。 本文介绍一种打包方式,让打包后的程序自带依赖库,即使...
Python 入门 - 12 - 模块和包
模块(module) 一个包含 Python 代码的 .py 文件就是一个 模块(module),文件名去除 .py 后缀就是 模块名,模块名也可以通过模块的 __name__ 属性获取。 一个模块可以被 import 引用,也可以当作脚本直接运行,模块中的 定义 和 语句 只在被 import 或直接运行的时候 执行一次。 例如现在有一个名为 fibo.py 的文件,其内容如下: ...
Python 入门 - 11 - 类
Python 类源自于 C++ 和 Modula-3 这两种语言的类机制的结合。 Python 中一切皆 对象(Object),类里边又引入了 3 种对象:类对象(Class)、实例对象(Instance) 和 方法对象(Method) 作用域和命名空间 作用域(scope) 指的是 Python 代码中的一个文本区域,分为以下几类: 模块 类 函数 命名空间(nam...
Python 入门 - 10 - 异常
异常简介 异常(Exception) 即程序执行过程中产生的预期以外的错误,例如有一个脚本 test.py,其内容如下: #!/bin/python3 print('2' + 2) 当执行该脚本时会产生如下异常: [root@localhost ~] python3 test.py Traceback (most recent call last): File "test....
Python 入门 - 9 - 输入输出
终端的输入输出 input Python 提供了一个 input 函数供终端的输入使用,当程序执行到 input 处时会暂停并等待用户输入,用户输入完成并敲击回车后才会继续执行后续的代码。input 的返回值就是读取到的用户输入内容,还可以在调用 input 时传入一个字符串参数作为等待输入的提示信息显示。 ## 用 var 保存用户输入内容 >>> var = in...
Python 入门 - 8 - 函数定义
函数定义 先看一个简单的函数定义的例子,以 def 语句开头,定义一个名为 add 的函数,接收两个参数 a 和 b,然后返回这两个参数的 和: >>> def add(a, b): ... return a + b ... >>> add(1, 2) 3 >>> 在 Python 中,一个定义好的函数可以把函数名赋值给其...
Python 入门 - 7 - 流程控制
if if 是条件控制语句,其语法定义如下: if_stmt ::= "if" expression ":" suite ( "elif" expression ":" suite )* ["else" ":" suite] if 是固定格式,当 if 后面的 expression 为 真 时执行其后面的 suite,然后可以在后...
Python 入门 - 6 - 字典与集合
字典(dict) 字典通过 键值对(key: value) 的方式,把 key 映射到 value。key 必须是 可 hash 的(hashable),由于 Python 中所有内置的 不可变类型(immutable) 都是可 hash 的,所以都可用作字典的 key,比如 字符串(str)、数字(int, float) 和 只包含不可变类型元素的元组(tuple),如果元组直接或间接的...