lib文件

python之模块

女生的网名这么多〃 提交于 2020-01-02 22:23:17
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。 模块让你能够有逻辑地组织你的python代码段;把相关的代码分配到一个模块里能让你的代码更好用,更易懂。 模块能定义函数,类和变量,模块里也能包含可执行的代码。 [python@master model]$ more model_1.py def p_fun(): print('hello world') return [python@master model]$ more main.py from model_1 import p_fun if __name__ == "__main__": #判断是否为主程序执行口 p_fun() 运行: [python@master model]$ python3 main.py hello world from ... import * :这样会把模块中的所有内容导入到当前命名空间,一般不建议使用,消耗内存空间,也容易出现未预知的问题。 1.搜索路径 当导入一个模块后,python解析器对模块位置的搜索顺序是: 当前目录----shell变量PYTHONPATH下的每个目录----------python模块路径目录 模块的搜索路径存储在system模块的sys.path变量中

Redhat6 RPM 软件管理常用命令汇总

ぐ巨炮叔叔 提交于 2020-01-02 05:59:29
  软件的安装时操作系统管理的基础,与Windows不同,Linux的软件管理有很多种方式,Redhat的最常用的是RPM方式,安装集成在光盘中的RPM包。这种方式比Windows平台的软件管理更加便捷(个人感觉,总体感觉Windows程序安装于卸载有点复杂),使用起来也更加的心用手。    1、Redhat中的rpm包的位置 —— 光盘目录中的 Package 目录全部都是。    2、RPM常用命令解读:     a、安装程序: rpm -ivh <软件包的绝对路径> #i为install;v,verbose;h,hash [root@asdf /]# rpm -ivh /media/RHEL_6.1\ i386\ Disc\ 1/Packages/vsftpd-2.2.2-6.el6_0.1.i686.rpm      b、卸载程序: rpm -e <软件名> [root@asdf /]# rpm -e vsftpd  # e => erase 、uninstall [root@asdf /]# rpm -q vsftpd #检测一下是否已卸载 package vsftpd is not installedrpm -aq|grep yum|xargs rpm -e --nodeps #卸载所有yum相关包      c、查询指定软件是否已安装: rpm -q <软件名> /

部署Openfire源码

与世无争的帅哥 提交于 2020-01-02 03:34:20
1. 获取Openfire 3.5.1源代码 官方主页: http://www.igniterealtime.org/ (1)从官方网站上直接下载官方发布版本的源代码Openfire_3_5_1.zip源代码压缩包; 但是,2008年4月24官方发布的源代码中使用了import testng.xxx语句,所以额外需要下载并导入testng-5.8-jdk15.jar类库。否则会提示错误信息。 (2)也从官方网站上可以下载最新版(nightly builds),如源代码压缩包openfire_src_2008-05-31.zip (3)使用Eclipse的版本控制插件SVN获取(检出为),具体步骤为: * 在eclipse中,选择Windows->Open Perspective->Other * 在弹出的窗口中,选择SVN Repository Exploring, 然后点OK * 在SVN Repositories 视图中单击右键,选择 New->Repository Location... *在弹出的New Repository Location对话框的输入URL文本框中输入: http://svn.igniterealtime.org/svn/repos/openfire/trunk 然后,单击Finish. 你将会看到页面中出现URL地址 *

Linux下源码编译安装详解

China☆狼群 提交于 2020-01-01 13:35:11
Linux下源码编译安装详解 转载 Zebul博 发布于2017-09-07 13:15:03 阅读数 14896 收藏 更新于2017-09-07 13:15:03 前言 源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 #include <stdio.h> int main(void) { fputs(“Hello, world!\n”, stdout); return 0; } 要先用编译器处理一下,才能运行。 $ gcc test.c $ ./a.out Hello, world! 对于复杂的项目,编译过程还必须分成三步。 $ ./configure $ make $ make install 编译过程流程图: 一.编译的具体过程 1. 配置(configure) 编译器在开始工作之前,需要知道当前的系统环境,比如标准库在哪里、软件的安装位置在哪里、需要安装哪些组件等等。这是因为不同计算机的系统环境不一样,通过指定编译参数,编译器就可以灵活适应环境,编译出各种环境都能运行的机器码。这个确定编译参数的步骤,就叫做"配置"(configure)。 这些配置信息保存在一个配置文件之中,约定俗成是一个叫做configure的脚本文件。通常它是由autoconf工具生成的。编译器通过运行这个脚本,获知编译参数。

GCC从头到尾自制编译脚本

喜夏-厌秋 提交于 2020-01-01 00:50:04
目录 简介 预处理 编译 汇编 链接 分析链接过程 头文件路径 动态库路径 使用到的标准目标文件 使用到的动态库 获得gcc默认的链接脚本 MakeFile 参考资料 简介 本文的目的是深入理解gcc编译的过程,以及从编译到链接,做一个自己定制化的编译脚本。常用的 预处理 编译 汇编 链接 源文件只有一个 test.c 预处理 生成 test.i 文件 root@zhou 22:01:40 ~/r/p/Chapter1 # gcc -v -E test.c -o test.i Using built-in specs. COLLECT_GCC = gcc OFFLOAD_TARGET_NAMES = nvptx-none OFFLOAD_TARGET_DEFAULT = 1 Target: x86_64-linux-gnu Configured with: .. /src/configure -v --with-pkgversion = 'Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl = file:///usr/share/doc/gcc-7/README.Bugs --enable-languages = c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix = /usr --with-gcc

11g R2集群部署

好久不见. 提交于 2019-12-31 16:54:45
安装环境准备 I.服务器硬盘空间要求 /tmp目录大小至少:1GB 安装Grid Infrastracture所需空间:6.6GB 安装Oracle Database所需空间:4GB 此外安装过程中分析、收集、跟踪文件所需空间:10GB 建议总共至少30GB,放心!(此处不包含ASM或NFS的空间需求) II.服务器内存要求 内存大小:至少2.5GB Swap大小: 当内存为2.5GB-16GB时,Swap需要大于等于系统内存。 当内存大于16GB时,Swap等于16GB即可。 共享磁盘 重要!非常重要!请仔细阅读这段话! 用于创建ASM磁盘用的盘,需要通过网络共享到4个计算节点,可以采用iscsi服务的方式把存储节点的磁盘映射到计算节点 本文的教程不涵盖iSCSI教程,也就是说如果你不会映射磁盘到计算节点,那就别往下看了,因为asm磁盘管理方式有high冗余和normal冗余 即使你在搭建的过程不创建存放数据用的asm磁盘组,但是vote仲裁机制必须建立 如果asm采用high冗余那么voting盘最低需要5块磁盘,如果是normal冗余,voting盘最低需要3块磁盘 iscsi配置磁盘映射 搭建iscsi服务 二十一、配置server提供一个iSCSI共享服务 安包 yum -y install targetcli* 分区 fdisk /dev/sda partprobe

JVM知识点梳理

Deadly 提交于 2019-12-31 12:06:05
Java JVM执行流程 1 JVM的结构 1.1class文件的格式 1.2 数据类型 1.2.1 基础数据类型和取值 1.2.2 引用数据类型 1.3 运行时数据区 1.4 虚拟机栈帧 Frame 1.5 Java类加载过程 JDK版本是1.8.0_231,以下是官方对JVM的介绍,我简单翻译了一下,将就着看吧。 The Java Virtual Machine is the cornerstone of the Java platform. It is the component of the technology responsible for its hardware and operating system independence, the small size of its compiled code, and its ability to protect users from malicious programs . JVM是Java平台的基石,它是计算机硬件技术层面的操作系统无关性的组件,编译后的一小段代码 ,能保护用户不熟恶意程序的攻击。 The Java Virtual Machine is an abstract computing machine. Like a real computing machine, it has an instruction

obj,lib,dll,exe

给你一囗甜甜゛ 提交于 2019-12-31 04:59:20
obj,lib,dll,exe的关系 lib是和dll对应的。lib是静态链接库的库文件,dll是动态链接库的库文件。 所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要lib。 所谓动态就是exe运行的时候依赖于dll里面提供的功能,没有这个dll,你的exe无法运行。 lib,dll,exe都算是最终的目标文件,是最终产物。而c/c++属于源代码。源代码和最终目标文件中过渡的就是中间代码obj,实际上之所以需要中间代码,是你不可能一次得到目标文件。比如说一个exe需要很多的cpp文件生成。而编译器一次只能编译一个cpp文件。这样编译器编译好一个cpp以后会将其编译成obj,当所有必须要的cpp都编译成obj以后,再统一link成所需要的exe,应该说缺少任意一个obj都会导致exe的链接失败。 1.obj里存的是编译后的代码跟数据,并且有名称,所以在连接时有时会出现未解决的外部符号的问题。当连成exe后便不存在名称的概念了,只有地址。lib就是一堆obj的组合。 2.理论上可以连接obj文件来引用其他工程 (可以认为一个obj文件等价于编译生成它的cpp文件,可以引用obj来替换cpp,也可以添加cpp来替换obj ),但实际中通常用lib来实现工程间相互引用。 3.编译器会默认链接一些常用的库,其它的需要你自己指定。

nginx负载均衡+docker部署应用

主宰稳场 提交于 2019-12-31 02:04:42
Docker已经出来好长时间了,一直没有时间研究,正好最近有个项目部署在一台内存和CPU都超夸张的机器上,而项目因并发量增加,后面肯定也需要扩展了。因为这台服务器内存和CPU都足够大,部署一个项目实在太浪费了,于是想到用docker部署方式做横向扩展。 首先想到的方案就是nginx做负载均衡,再加多台docker的方式部署项目。思路很简单,但在真正操作的时候,遇到各种各样的问题,所以说实践是最好的老师一点没错。 准备docker 跟同学借了一台亚马逊的云作为测试环境 Linux ip-10-200-8-1044.9.20-11.31.amzn1.x86_64 #1 SMP Thu Apr 13 01:53:57 UTC 2017 x86_64 x86_64x86_64 GNU/Linux 安装docker 通过yum方式安装 yum install docker –y 配置docker的镜像源 因为被墙了,貌似很多docker镜像都下载不下来,可以配置docker镜像的地址为国内的地址。其实很简单,改下一个docker的配置文件就好了。在/etc/docker目录下面有个daemon.json的文件,修改下就行了。 cd /etc/docker vim daemon.json 修改为如下内容: { "registry-mirrors" : [ "http://8fcab180.m

ubuntu 12.04安装jdk1.8

佐手、 提交于 2019-12-30 12:35:46
1、首先去官网下载jdk1.8版本; 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 2、使用命令:tar -zxvf 下载/software/jdk-8u51-linux-i586.tar.gz 解压下载的压缩包; 我的压缩包所在位置为“下载/software/jdk-8u51-linux-i586.tar.gz“。 3、使用命令: sudo cp jdk-1.8.0_51 /usr/lib/jvm/ 将文件夹jdk-1.8.0_复制到/usr/lib/jvm/ 不存在该目录产生的错误: oldman@oldman:~$ sudo cp jdk 1.8.0_51 /usr/lib/jvm [sudo] password for oldman: cp: target `/usr/lib/jvm' is not a directory #因为没有jvm这个文件夹所以报错了 创建这个文件夹的命令: oldman@oldman:/usr/lib$ mkdir jvm mkdir: cannot create directory `jvm': Permission denied #报错的原因是没有创建文件夹的权限,正确的命令是:sudo mkdir jvm