12 xiliang_pan

尚未进行身份认证

只要去做,没有做不好的事情!

等级
TA的排名 7k+

Linux下指定so动态库的加载路径

一、库文件的搜索路径:1、在配置文件/etc/ld.so.conf中指定动态库搜索路径(需要添加其它库文件的路径,在文件的最后添加具体的路径即可 [ 如:/usr/local/lib ],添加后保存退出,然后在命令行ldconfig2、通过环境变量LD_LIBRARY_PATH指定动态库搜索路径(当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔)3、在编译目标代码时指...

2019-07-01 16:43:20

注册/反注册窗体类RegisterClassEx/UnregisterClass

所有窗体在创建前都必须注册窗体类,只有注册的窗体类才被系统认知并允许实例化,换句话说通过注册告诉进程窗体管理器此类窗体的属性如: 背景色,窗体上的鼠标样式以及窗体事件处理函数等; 有一些控件类系统自带了的可以不用注册即可实例化,在不需要时反注册掉,以便释放类占用的内存。(一) 函数声明 I). 类注册ATOM RegisterClassEx(CONST WNDCLA...

2019-04-18 17:59:38

TLS密码套件TLS_ECDHE含义

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 解构如下: ECDHE_RSA:密钥协商交换算法 ECDHE:使用基于椭圆曲线签密方案(EC, Elliptic Curve)的 Diffie-Hellman(DH)密钥协商协议。尾部的 E 为 Ephemeral 首字母,表示协商的是临时会话密钥。相对每次会话协商的临时密钥,证书中的公钥则是永久...

2019-04-08 14:57:15

Linux下的tar压缩解压缩命令详解

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必...

2019-03-15 17:35:23

Linux 共享库LIBRARY_PATH, LD_LIBRARY_PATH 与ld.so.conf

1.Linux 共享库:LD_LIBRARY_PATH 与ld.so.confLinux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。(该路径在默认路径之前查找)  移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。  当执行函数动态链接.so时,...

2019-03-05 11:15:02

linux下永久设置LD_LIBRARY_PATH

LD_LIBRARY_PATH环境变量主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径,其内容是以冒号分隔的路径列表。 ld链接器将优先在该变量设置的路径中查找,若未找到则在标准库路径/lib和/usr/lib中继续搜索。 临时设置LD_LIBRARY_PATH环境变量的最佳方式是: 在执行你的程序前,先...

2019-03-05 11:14:03

Linux多线程的使用一:互斥锁

Linux多线程的使用一:互斥锁  多线程经常会在Linux的开发中用到,我想把平时的使用和思考记录下来,一是给自己做个备忘,二是分享给可能会用到的人。  POSIX标准下互斥锁是pthread_mutex_t,与之相关的函数有:1 int pthread_mutex_init(pthread_mutex_t * mutex , pthread_mutexattr_t * attr)...

2018-11-23 14:15:09

MFC中对话框资源的复制

在工程中导入已建好的对话框,方法有三:法一:1、首先要生成一个*.ogx的文件。   方法:打开包含有所要加的对话框资源的工程(别的工程)。         在视图资源(ClassView)中鼠标右键点击所需的对话框的类(也可以是所需的类)         这时,你会看到右键菜单中有个“Add to Gallery”的选项。         选择这个选项,则*.ogx文件生...

2018-10-07 14:33:17

HMAC 原理

定义HMAC需要一个加密用散列函数(表示为H,可以是MD5或者SHA-1)和一个密钥K。我们用B来表示数据块的字节数。(以上所提到的散列函数的分割数据块字长B=64),用L来表示散列函数的输出数据字节数(MD5中L=16,SHA-1中L=20)。鉴别密钥的长度可以是小于等于数据块字长的任何正整数值。应用程序中使用的密钥长度若是比B大,则首先用使用散列函数H作用于它,然后用H输出的L长度字符串作为在...

2018-06-07 14:21:37

SQLITE3 使用总结

前序:这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何 windows 的东西,只使用标准 C 或标准C++。但是,我没有尝试过在别的系统、别的编译器下编译,因此下面的叙述如果不正确,则留待以后修改。下面我的代码仍然用 VC 编写,因为我觉得VC是一个很不错的IDE,可

2018-01-03 11:59:48

TCP协议

1、TCP协议:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于IP的传输层协议。TCP在IP报文的协议号是6。首先来看看OSI的七层模型:图1 OSI七层模型TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP 在第二层——Data L

2017-10-27 10:24:19

ActiveX控件实现安全的初始化和脚本

要想创建一个能够在IE中成功加载而没有“不安全”的警告或者错误提示信息的ActiveX控件,我们必须实现安全的初始化和脚本。基本上,所有要做的工作都是在DllRegisterServer 和DllUnregisterServer这两个函数中完成的。下面,我们就来一步步地将我们的ActiveX控件变成一个“安全的”控件。       1. 编辑XXX(此处为控件的工程名).cpp并添加如下的

2017-08-22 10:12:06

ActiveX控件属性:自定义属性的使用

在很多场合下会存在这样的需求,那就是使用方在实际使用控件之前就想控件已经做了相应的处理比如加载的控件版本不正确等,或者需要在加载时才确定能够使用的功能集;这个时候传统的配置文件已经无法满足这种类型的需求了,往往的做法是在初始化控件的时候即做了相应的初始化,然后对自身的功能做了限制或者给使用方反馈,所以常常看到的是html标签中出现这样的写法:[html] view plai

2017-08-22 10:06:23

将PKCS12文件转成JKS

试了好几种方法都不行,使用下面的方法可以导入,在此记录一下。先将pkcs12解析出证书和私钥,注意私钥必须加密,可以使用rsa命令加密。将加密的私钥和证书组合在一起,格式如test.pem.通过portecle导入test.pem,主要导入时必须先导入证书链,否则无法导入。相关openssl命令 1、解析私钥pkcs12 -in mycert.pfx

2017-08-02 11:04:50

解决透明static控件后刷新问题

我相信很多VC程序员,都用过OnCtlColor来改变控件的底色,字体颜色等。但是static控件改变之后,就会照成控件不刷新的问题。HBRUSH CStadus::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)   {        HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, n

2017-07-17 10:34:59

字符集之间转换(UTF-8,UNICODE,Gb2312)

特搜集了UTF-8,UNICODE,Gb2312他们3个之间的相互转换.UTF-8:   3字节一个字符UNICODE: 2字节一个字符GB2312:  1字节一个字符例子:“你”字的UTF-8编码: E4 BD A0        11100100 10111101 10100000“你”的Unicode编码: 4F 60            0100111

2017-06-20 16:54:43

Ansi,UTF8,Unicode编码

最近在写网络数据传输的程序,被各种编码搞的一塌糊涂,在这里简单记录如下:1. ASCII和Ansi编码字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 a.单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码. b.双字节内码 -- Double-Byte

2017-06-20 16:50:28

C++中使用JsonCpp

之前项目中我们客户端程序一直是使用XML与服务器通信,最近新增一些接口转向使用更简单的Json。我们都知道由于Json语法是 JavaScript 对象表示语法的子集。所以在Java,JavaScript等语言中使用起来是十分愉快的。在C++中我们使用跨平台的开源库JsonCpp也能愉快的玩耍Json。下载地址GitHub:https://github.com/open-sourc

2017-06-14 17:15:29

二维码的生成细节和原理

二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参

2017-05-27 14:28:45

在VS2008环境下的C++异常处理

在写DAServer的过程中,一直在重视报文逻辑处理,却没有认认真真地去思考异常处理的问题。曾经我发现我在所有的报文处理函数中均没有考虑报文长度的问题,让我内心不由地捏了一把冷汗。我在新增的故障录波及故障报告的目录报文中引入了报文长度检查,但是其他的类型报文我还是没有克服懒惰情绪,报文类型实在是太多了……  我想,既然没有检查报文长度,那就把C++可能的异常Catch住就行了,等出了问题再

2017-05-10 14:56:50

查看更多

勋章 我的勋章
    暂无奖章