lib

C++ dll的隐式与显式调用

跟風遠走 提交于 2020-03-17 03:55:32
  应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0(或者更先进的版本)在VC\bin目录下提供了一个名为Dumpbin.exe的小程序(使用方法见 VS自带工具:dumpbin的使用 ),用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录, 3.Windows系统目录, 4.Windows目录,5.列在Path环境变量中的一系列目录。   1.隐式链接   隐式链接就是在程序开始执行时就将DLL文件加载到应用程序当中。实现隐式链接很容易,只要将导入函数关键字_declspec(dllimport)函数名等写到应用程序相应的头文件中就可以了。下面的例子通过隐式链接调用MyDll.dll库中的Min函数。首先生成一个项目为TestDll,在DllTest.h、DllTest.cpp文件中分别输入如下代码: 1 //Dlltest.h 2 3 #include"MyDll.h" 4 #pragma comment(lib,"MyDll.lib") 5 extern "C"_declspec(dllimport) int Max(int a,int b); 6 extern "C"_declspec

LINUX各目录用处

左心房为你撑大大i 提交于 2020-03-17 03:54:50
目录 应放置档案内容 / 根目录 /bin 放置可执行文件 /usr/bin 用户可执行文件 /usr/local/bin 用户本地可执行文件 /boot 开机需用文件,文件下vmlinuz为kernel。如有grub则下有/boot/grub /dev 设备文件 /etc 系统设置文件 /etc/init.d/ 所有服务的预设启动script,如启动iptables: /etc/init.d/iptable start /etc/xinetd.d super daemon管理的各项服务设定文件目录 /etc/X11 与X WINDOWS有关的设定档,尤其是xorg.conf或XF86Config /home 用户家目录 /lib, /usr/lib, /usr/local/lib 函数库目录,/lib/modules目录下会放置内核的相关模块 /lost+found 发生错误后,遗失的片段旋转于此目录下,通常会出现在某个分区的最顶层目录 /mnt, /media 软盘与光盘等预设挂载点放置的地方 /opt 安装软件的地方 /proc 存放系统核心、形成信息、接口设备的状态及网络状态等。目录中的数据都放在内存当中的。比较重要的档案有:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等

动态链接库dll的 静态加载 与 动态加载

[亡魂溺海] 提交于 2020-03-17 03:52:44
动态链接是指在生成可执行文件时不将所有程序用到的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找 。 而静态链接就是把所有用到的函数全部链接到exe文件中。 动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入; 而静态链接是把所有的代码和数据都复制到本模块中,运行时就不再需要库了。 静态链接方法:#pragma comment(lib, "test.lib") ,静态链接的时候, 载入代码就会把程序会用到的动态代码或动态代码的地址确定下来 静态库的链接可以使用静态链接,动态链接库也可以使用这种方法链接导入库 动态链接方法:LoadLibrary()/GetProcessAddress()和FreeLibrary() ,使用这种方式的程序并不在一开始就完成动态链接,而是直到真正调用动态库代码时,载入程序才计算(被调用的那部分)动态代码的 逻辑地址 ,然后等到某个时候,程序又需要调用另外某块动态代码时,载入程序又去计算这部分代码的逻辑地址,所以,这种方式使程序初始化时间较短,但运行期间的性能比不上静态链接的程序。 1. 生成 静态链接库 newdll) win32项目 -> dll 添加.h文件 betabinlib.h #ifndef BETABINLIB_H #define BETABINLIB_H

memcached安装步骤

試著忘記壹切 提交于 2020-03-17 01:28:37
某厂面试归来,发现自己落伍了!>>> 一:资源 memcached 官方网站: http://memcached.org/ memcached版本: memcached-1.5.4.tar.gz 依赖 libevent: libevent-1.4.12-stable.tar.gz libevent下载地址: http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz 二:安装 libevent-1.4.12 解压: tar zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/ cd /usr/local/libevent-1.4.12-stable 编译安装,可以选择默认安装,也可以指定安装路径,默认安装路径为:/usr/local/lib,也可以指定其他路径,如:/lib/ 或 /usr/lib 或 其他路径。 此处指定安装路径为: /usr/libevent/ 在/usr/local/libevent-1.4.12-stable路径下执行 ./configure -prefix=/usr/libevent 执行完成后,执行 make 然后执行 make install 执行完成后,需要执行ldconfig命令,该命令的主要作用是在默认搜寻目录(/lib和/usr/lib

vc编译libevent

妖精的绣舞 提交于 2020-03-17 01:28:17
某厂面试归来,发现自己落伍了!>>>   假设 Visual Studio 2005 的安装路径为“D:\Program Files\Microsoft Visual Studio 8\”, Libevent 2.0.10 解压后的路径为“D:\libevent-2.0.10-stable”。    一、编译生成 Libevent 2.0.10 静态链接库。      1、修改“D:\libevent-2.0.10-stable\event_iocp.c”、“D:\libevent-2.0.10-stable\evthread_win32.c”、“D:\libevent-2.0.10-stable\listener.c”三个文件,在文件开头分别加上一行: #define _WIN32_WINNT 0x0500   2、鼠标点击Windows左下角的【开始】-【所有程序】,找到【Microsoft Visual Studio 2005】,执行下图中的脚本:      3、按照下图中的方法编译Libevent 2.0.10:      4、生成的“libevent.lib”、“libevent_core.lib”、“libevent_extras.lib”三个文件就是我们需要的 Libevent 静态链接库。    来源: oschina 链接: https://my.oschina

搭建solr的简单应用服务(一)

六眼飞鱼酱① 提交于 2020-03-16 16:26:19
环境:Centos7 + jdk1.8 + solr-7.7.2 + tomcat-8.5.43 Centos7下载地址: https://www.jianshu.com/p/a63f47e096e8 jdk1.8下载地址: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html solr-7.7.2下载地址: http://archive.apache.org/dist/lucene/solr/ tomcat-8.5.43下载地址: http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.43/bin/ 第一部分: tomcat中配置solr服务 1. 解压solr-7.7.2进入server/webapps复制webapp文件到tomcat的webapps下并改名字为solr进行访问 2. 添加到tomcat容器内 3. 添加solr依赖的包到solr项目内的WEB-INF/lib文件下   3.1 添加server下的lib/ext下的所有包     3.2 添加server下lib文件夹下的6个依赖包 4. 在usr/local [符合项目规范的任意文件夹] 下创建solrhome文件夹作为索引库的目录 5. 复制solr-7.7

Centos7下更改Snap默认安装目录

吃可爱长大的小学妹 提交于 2020-03-15 23:23:04
说明 最近收到公司服务器报警信息, mount=/var/lib/snapd/snap/core/8592 100>=90 。这是因为Snap安装使用后比较占用磁盘空间(默认安装目录为 /var/lib/snapd ),如果希望Snap安装在特定的目录,此时不能使用创建软链接的方法(ln -s)来关联到新的安装目录,否则Snap的应用将无法正常启动。 下面是主要的更改默认安装目录的方法~ 主要步骤 (1)查看snap挂载情况 df -h |grep snapd /dev/loop2 92M 92M 0 100% /var/lib/snapd/snap/core/8592 /dev/loop0 92M 92M 0 100% /var/lib/snapd/snap/core/8689 (2)查看snapd服务运行状态 systemctl status snapd (3)停止snapd服务 systemctl stop snapd (4)卸载snapd的/dev/loopxx设备 umount /dev/loop2 umount /dev/loop0 (5)创建snap新的数据目录 mkdir /root/snap/snapd (6)拷贝数据 rsync -avzP /var/lib/snapd/ /root/snap/snapd/ (7)其他数据的备份 cp /etc/fstab

php-7.1编译记录

两盒软妹~` 提交于 2020-03-13 23:55:15
编译php-7.1.28步骤 检查环境 ./configure \ --prefix=/u01/server/php-7.1.28 \ --enable-fpm \ --with-fpm-user=daemon \ --with-fpm-group=daemon \ --with-zlib-dir=/u01/server/common \ --enable-mbstring=all \ --enable-soap \ --enable-bcmath \ --enable-ftp \ --with-xmlrpc \ --enable-cgi \ --with-imap-ssl=/u01/server/common \ --with-png-dir=/u01/server/common \ --with-gd \ --with-zlib \ --with-curl=/u01/server/common \ --with-jpeg-dir=/u01/server/common \ --enable-exif \ --with-openssl=/u01/server/common \ --with-ldap=/u01/server/common \ --enable-calendar \ --enable-ctype \ --enable-pcntl \ --enable-session

c/c++连接mysql数据库

女生的网名这么多〃 提交于 2020-03-13 11:31:44
环境:win7 x64、vs2008、mysql 对于已经安装mysql的,查看mysql安装目录,如果安装目录下没有include和lib目录, 说明没有完全安装,需要下载mysql-connector类库,官方下载地址: http://dev.mysql.com/downloads/connector/c/ 部分截图如下,从图左侧可看出,官网提供了c、c++、Python、J等语言的链接库,根据个人情况下载。 下面开始配置vs2008,大致需要三步。 由于我们要使用Mysql的API,并且我们机子上肯定安装了Mysql数据库,所以我们要将工程的头文件路径指向Mysql安装目录的同文件mysql.h所在的位置,将连接库路径指向libmysql.lib所在的路径, 这两个文件一般在include、lib目录下。 新建一个项目,右键该项目,选择属性,弹出属性对话框。 第一:将x项目属性页的C/C++->常规->附加包含目录指向mysql.h所在的位置:C:\Program Files\MySQL\MySQL Server 5.1\include 第二:将项目属性页的链接器->常规->附加库目录指向libmysql.lib所在的路径:C:\Program Files\MySQL\MySQL Server 5.1\lib. 第三:将链接器->输入->附加依赖项中添加libmysql

在centos中使用rpm安装包安装jenkins

半世苍凉 提交于 2020-03-13 10:08:31
jenkins下载:http://pkg.jenkins-ci.org/redhat/ 下载rpm包到本地 在linux下使用rpm包安装命令: sudo rpm -ih jenkins-1.562-1.1.noarch.rpm [root@bogon Desktop]# sudo rpm -ih jenkins-2.9-1.1.noarch.rpm warning: jenkins-2.9-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY ########################################### [100%] ########################################### [100%] 自动安装完成之后: /usr/lib/jenkins/jenkins.war WAR包 /etc/sysconfig/jenkins 配置文件 /var/lib/jenkins/ 默认的JENKINS_HOME目录 /var/log/jenkins/jenkins.log Jenkins日志文件 安装完成之后启动jenkins 启动命令: sudo service jenkins start [root@bogon jenkins]# sudo