2017年8月11日

摘要: http://blog.csdn.net/newchenxf/article/details/51735600 码字辛苦,转载请注明出处喔! http://blog.csdn.net/newchenxf/article/details/51735600 网上有各种静态库的创建&使用的例子,但都是超级 阅读全文

posted @ 2017-08-11 16:40 旅途 阅读(562) 评论(0) 推荐(0) 编辑

摘要: 一、在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要 阅读全文

posted @ 2017-08-11 16:35 旅途 阅读(689) 评论(0) 推荐(0) 编辑

摘要: 前言如果普通编程不需要了解这些东西,如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断,刚你可以看一下下面的工具:objdump, nm, ar。当然,本文不可能非常详细的说明它们的使用方法和功能。如果你觉得本文不够清楚,你可以使用:man. 我的计划只是想让更多的人了 阅读全文

posted @ 2017-08-11 16:30 旅途 阅读(924) 评论(0) 推荐(0) 编辑

摘要: 为什么不能用cp newlib.so oldlib.so ? 在替换so文件时,如果在不停程序的情况下,直接用 cp new.so old.so 的方式替换程序使用的动态库文件会导致正在运行中的程序崩溃。 解决方法: 解决的办法是采用“rm+cp” 或“mv+cp” 来替代直接“cp” 的操作方法。 阅读全文

posted @ 2017-08-11 15:54 旅途 阅读(256) 评论(0) 推荐(0) 编辑

摘要: 使用ldd工具,查看可执行程序依赖那些动态库或着动态库依赖于那些动态库: ldd 命令可以查看一个可执行程序依赖的共享库, 例如 # ldd /bin/lnlibc.so.6 => /lib/libc.so.6 (0×40021000)/lib/ld-linux.so.2 => /lib/ld- l 阅读全文

posted @ 2017-08-11 15:51 旅途 阅读(1854) 评论(0) 推荐(0) 编辑

摘要: /bin 在有的Unix和Linux系统中是/usr/bin的链接,不过UBuntu系统是两个独立的目录。/bin 存放系统管理员和普通用户都要使用的程序。 /sbin 存放用于系统恢复,系统启动,系统维护等程序 /usr/bin 登录用户可以使用的预装程序一般都放在这里 /usr/share/bi 阅读全文

posted @ 2017-08-11 15:29 旅途 阅读(351) 评论(0) 推荐(0) 编辑

摘要: /usr/local下一般是你安装软件的目录,这个目录就相当于在windows下的programefiles这个目录 。很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?答案是:Automake工具定义了下面的一组变量:Directory variable Default 阅读全文

posted @ 2017-08-11 15:26 旅途 阅读(4114) 评论(0) 推荐(1) 编辑

摘要: https://google.jiongjun.cc/ 阅读全文

posted @ 2017-08-11 15:19 旅途 阅读(282) 评论(0) 推荐(0) 编辑

摘要: 引言: 由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。 下面我整理一下把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作: 1、首先我们需要关闭MySQL,命令如下: 阅读全文

posted @ 2017-08-11 15:17 旅途 阅读(855) 评论(0) 推荐(0) 编辑

摘要: root@DB-02 ~]# mysql -u root -bash: mysql: command not found 原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。 阅读全文

posted @ 2017-08-11 15:13 旅途 阅读(1236) 评论(0) 推荐(0) 编辑

摘要: 1. 下载mysql 在http://dev.mysql.com/downloads/mysql/ 官网上下载mysql-5.5.28-linux2.6-i686.tar.gz. 2. 解压 假如tar包在/home/zdw/software目录下 #tar -xvf mysql-5.5.28-li 阅读全文

posted @ 2017-08-11 15:08 旅途 阅读(3554) 评论(1) 推荐(0) 编辑

摘要: 网上找了N多资料,没有一个可以顺利成功的,郁闷,可能是水平有限吧...!本人经过不断的研究、测试,完整实现Linux下启动两台MySQL,而且对mysql有了更深入的了解...废话不多说,走着! 步骤如下: 一、编译安装两个mysql,步骤如下 下载Mysql ,此处以Mysql-6.0.11-al 阅读全文

posted @ 2017-08-11 15:01 旅途 阅读(6787) 评论(0) 推荐(1) 编辑

摘要: 一、头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH ※再找内定目录/usr/include /usr/local/include/usr/lib/gc 阅读全文

posted @ 2017-08-11 14:50 旅途 阅读(1302) 评论(0) 推荐(0) 编辑

摘要: 大多数的C/C++编译器都支持一个“-M”的选项,即自动找寻源文件中包含的头文件。举个例子,比如mian.c包含有如下头文件。 #include <stdio.h> #include "log.h" 用gcc -M main.c就可以输入其包含的所有头文件。如下图所示。 [root@bogon Co 阅读全文

posted @ 2017-08-11 14:46 旅途 阅读(2235) 评论(0) 推荐(0) 编辑

摘要: 找不到库的处理方案 有两种方法: 一、可以把当前路径加入 /etc/ld.so.conf中然后运行ldconfig,或者以当前路径为参数运行ldconfig(要有root权限才行)。 二、把当前路径加入环境变量LD_LIBRARY_PATH中 如何使用库 gcc中关于库的参数有: -L 指定搜寻库的 阅读全文

posted @ 2017-08-11 14:42 旅途 阅读(3351) 评论(0) 推荐(0) 编辑

摘要: Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:1.echo 显示某个环境变量值 echo $PATH2.export 设置一个新的环境变量 export HELLO="hello" (可以无引号)3.env 显示所有环境变量4.set 显示本地定义的shell变量5.unset 阅读全文

posted @ 2017-08-11 14:13 旅途 阅读(2180) 评论(0) 推荐(0) 编辑

摘要: LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。 在linux下可以用export命令来设置这个值,比如 在linux终端下输入:export LD_LIBRARY_PATH=/opt/au1200_rm/build_ 阅读全文

posted @ 2017-08-11 14:10 旅途 阅读(346) 评论(0) 推荐(0) 编辑

摘要: 根据链接时期的不同,库又有静态库和动态库之分。静态库是在链接阶段被链接的,所以生成的可执行文件就不受库的影响,即使库被删除,程序依然可以成功运行。而动态库是在程序执行的时候被链接的。程序执行完,库仍需保留在系统上,以供程序运行时调用。链接静态库从某种意义上来说是一种复制粘贴,被链接后库就直接嵌入可执 阅读全文

posted @ 2017-08-11 13:59 旅途 阅读(261) 评论(0) 推荐(0) 编辑

摘要: You probably know that the version number of the libmysqlclient.so library has changed from .16 to .18 in version 5.5.11 ... As result, binaries linke 阅读全文

posted @ 2017-08-11 13:54 旅途 阅读(305) 评论(0) 推荐(0) 编辑