lib文件

让程序在崩溃时输出Dump文件

泄露秘密 提交于 2020-03-23 03:36:54
#include <Windows.h> #include <tchar.h> #include <DbgHelp.h> #include <iostream> #include <vector> // 添加对dbghelp.lib的编译依赖 // #pragma comment(lib, "dbghelp.lib") using namespace std; const int MAX_ADDRESS_LENGTH = 32; const int MAX_NAME_LENGTH = 1024; // 崩溃信息 // struct CrashInfo { CHAR ErrorCode[MAX_ADDRESS_LENGTH]; CHAR Address[MAX_ADDRESS_LENGTH]; CHAR Flags[MAX_ADDRESS_LENGTH]; }; // CallStack信息 // struct CallStackInfo { CHAR ModuleName[MAX_NAME_LENGTH]; CHAR MethodName[MAX_NAME_LENGTH]; CHAR FileName[MAX_NAME_LENGTH]; CHAR LineNumber[MAX_NAME_LENGTH]; }; // 安全拷贝字符串函数 // void SafeStrCpy(char

pxe

邮差的信 提交于 2020-03-22 06:01:06
PXE 前提: 防火墙trusted SELinux宽松模式 思路: 1.DHCP---》IP地址-----》next-server----》pxelinux.0 2.tftp--》pxelinux.0 3.pxelinux.0-->/var/lib/tftpboot/pxelinux.cfg/default 4.default->vesamenu.c32\splash.png\vmlinuz\initrd.img -> ks.cfg 5. ks.cfg->语言、时区、分区.... ->--url="http://192.168.4.7/rhel7" -------------------------------------------------------------------------------------- 网络装机 规模化: 同时装配多台主机 自动化: 装系统、配置各种服务 远程实现: 不需要光盘、U盘等物理安装介质 什么是PXE网络? 预启动执行环境,在操作系统之前运行 可用于远程安装 工作模式 PXE client 集成在网卡的启动芯片中。当计算机引导时,从网卡芯片中把PXE client调入内存执行, 获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行。 开机启动项: 1.硬盘 2.光驱设备 3.移动存储设备 4.网络安装

error while loading shared libraries: xxx.so.x\"错误的原因和解决办法

痞子三分冷 提交于 2020-03-21 21:01:18
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可. 另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件. 所以安装共享库后要注意共享库路径设置问题, 如下: 1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令 ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表. 2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非

CentOS下搭建自动化测试基础框架:Jenkins+Maven+TestNG+ReportNG

梦想的初衷 提交于 2020-03-21 06:35:05
1. 安装JDK   1.1 卸载系统默认已安装的open-jdk     rpm -qa|grep java 查出来openjdk相关的应用,把查出来的所有都要通过下面的命令给卸载掉     rpm -e --nodeps 应用A     rpm -e --nodeps 应用B     再次通过java -version和javac -version来确认openjdk确实已经被删除。   1.2 下载Oracle JDK     根据自己的操作系统下载对应版本的JDK,我的是64位CentOS,所以用的是jdk-8u77-linux-x64.tar.gz.     下载方法:       1、(推荐)在windows下将文件下载下来,通过ssh工具将文件传到linux环境下。       2、使用wget命令下载文件,参考http://blog.csdn.net/bichir/article/details/42522113   1.3 安装JDK     tar -xvzf jdk-8u77-linux-x64.tar.gz -C /opt/jdk18 将tar.gz文件解压到/opt/jdk18下,解压后jdk主目录为/opt/jdk18/jdk1.8.0_77    1.4 配置jdk环境变量     vi /etc/profile,在文件最后加上下面几句话后保存退出:

动态库与静态库的区别

十年热恋 提交于 2020-03-21 05:46:00
库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别 1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当 然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。 2. 动态函数库 这类库的名字一般是libxxx.so;相对于静态函数库,动态函数库在编译的时候 并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相应函数,因此动态函数库所产生的可执行文件比较小。由于函数库没有被整合进你的 程序,而是程序运行时动态的申请并调用,所以程序的运行环境中必须提供相应的库。动态函数库的改变并不影响你的程序,所以动态函数库的升级比较方便。 linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。 静态库的使用 静态库的操作工具:gcc和ar 命令。 编写及使用静态库 (1)设计库源码 pr1.c 和 pr2.c [root@billstone make_lib]# cat pr1.c void print1() { printf("This is the first lib src!\n")

Linux 部署 rabbitMQ集群

泄露秘密 提交于 2020-03-20 18:37:28
1. 部署Erlang 1.1 RabbitMQ依赖于Erlang,版本对应请查看 https://www.rabbitmq.com/which-erlang.html 1.2 下载安装Erlang # 添加epel扩展源 yum install epel-release # 先删除可能存在的erlang(非必须) yum list erlang yum remove erl* # 清空和更新安装源(非必须) yum clean yum update # 参考 https://github.com/rabbitmq/erlang-rpm -> Erlang 21.x -> o use Erlang 21.x on CentOS 6 # 配置安装源 vim /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/6 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=0 # 安装 yum

LinuxMint19安装小记

半腔热情 提交于 2020-03-20 18:30:29
系统安装 我是笔记本单独安装LinuxMint19单系统,再虚拟机安装WIN7,所以不存在引导问题( 安装前关闭BIOS安全启动 )。一共分了四个区 uefi---500M , swap---8000M , /---250G , /home---250G .引导直接默认装到sda硬盘。 系统设置 装完开机后需要做一些系统方面的设置,主要包括换源、更新、显卡驱动、输入法、浏览器、主题、字体等等。 卸载软件 除了首选项里面的,其他菜单的软件都可以按需卸载。( 注:如果卸载了首选项里面的软件重启后无法登陆图形界面 ) 打开https://www.google.cn/chrome/ 下载chrome浏览器,双击deb安装。 卸载火狐: sudo dpkg -P firefox 检查是否完全卸载: dpkg --get-selections |grep firefox 列出来的几个语言包都可以卸载了。 删除火狐的配置文件:删除主目录中的 .mozilla/firefox/ ,如果它仍然存在;删除 /etc/firefox/ ,这是您存储首选项和用户配置文件的位置;删除 /usr/lib/firefox/ 如果它仍然存在;删除 /usr/lib/firefox-addons/ ,如果它仍然存在。 卸载LibreOffice: sudo apt-get remove --purge

Centos6.5 qt 安装

Deadly 提交于 2020-03-19 01:16:46
1,centos linux系统必须预先以安装x Server(KDE or GNOME) 2,wget http://download.qt-project.org/official_releases/qt/5.4/5.4.0/qt-opensource-linux-x64-5.4.0.run (软件包下载链接) http://download.qt.io/official_releases/qt/5.4/5.4.0/ (软件介质参考链接) 3,问题解决 Error during installation process (qt.54.gcc_64): Execution failed(Unexpected exit code: 1): "/opt/Qt5.4.0//Tools/QtCreator/bin/sdktool addQt --id qt.54.gcc_64 --name Qt %{Qt:Version} GCC 64bit --type Qt4ProjectManager.QtVersion.Desktop --qmake /opt/Qt5.4.0/5.4/gcc_64/bin/qmake" Error during installation process (qt.54.gcc_64): Execution failed(Unexpected exit code:

【故障处理】ORA-28040: No matching authentication protocol

妖精的绣舞 提交于 2020-03-18 19:44:00
【故障处理】 ORA-28040: No matching authentication protocol 1.1 BLOG 文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ~O(∩_∩)O~ : ① 告警日志中频繁出现 Using deprecated SQLNET.ALLOWED_LOGON_VERSION parameter 、 ORA-28040: No matching authentication protocol错误, 9i 的客户端连接到 12c 高版本的解决方案 ② Windows下使用 oerr 命令 Tips : ① 本文在 itpub ( http://blog.itpub.net/26736162 )、博客园 ( http://www.cnblogs.com/lhrbest ) 和微信公众号( xiaomaimiaolhr ) 上 有同步更新 。 ② 文章中用到的所有代码 、 相关软件 、 相关资料 及本文的pdf版本都 请前往小麦苗的云盘下载 , 小麦苗的 云盘地址见: http://blog.itpub.net/26736162/viewspace-1624453/ 。 ③ 若网页文章代码格式有错乱, 请 下载 pdf 格式的文档来 阅读 。 ④ 在 本篇

Tuxedo中间件 配置维护记录

試著忘記壹切 提交于 2020-03-18 18:08:30
Tuxedo 配置维护手册 Tuxedo 作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。 Tuxedo 应用系统的配置 一、应用系统的资源配置,全都包含在两个资源配置文件中(ubbconfig 和dmconfig ),在这两个配置文件中包含了系统所有的应用资源(文件)。 1、 对于ubbconfig文件,可以任意使用一个文件名(如:ubb.txt),使用一种文本编辑工具,将应用系统的资源分类进行配置,相关进程启动数量等等都应该配置在其中,然后设置环境变量TUXCONFIG,使用系统命令:tmloadcf 来将文本文件ubb.txt,转化生成环境变量TUXCONFIG制定的二进制文件。在该文件中主要包含了几个参数的设置:系统所使用的共享内存的键值IPCKEY,针对workstation客户端的监听进程的端口(WSL),多台机器之间互连(登记中心与各网关)的网络地址和端口(NADDR,NLSADDR),数据依赖路由的设定等等。 详细的内容参看《Ubbconfig配置.doc》 参看模版来实现移植或添加应用进程等等。 2、 对于dmconfig文件,可以任意使用一个文件名(如:dm.txt),使用一种文本编辑工具,将应用系统的多域互联及互相调用的关系进行配置,包括多域之间互联的地址和端口,然后使用系统命令