
Linux
文章平均质量分 55
Maybe______
这个作者很懒,什么都没留下…
展开
-
LINUX c++线程池框架
http://blog.chinaunix.net/uid-25073805-id-3046000.html http://blog.youkuaiyun.com/richerg85/article/details/18013779 本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整转载 2016-08-05 14:28:11 · 317 阅读 · 0 评论 -
GCC/G++编译器和VS IDE中的一些预定义宏和用户自定义宏
预定义宏, 编译器通常会根据平台和编译选项的不同,为被编译的程序提供不同的预定义的宏,例如WIN32 WIN64 LINUX, 例如DEBUG, RELEASE.1. 在使用gcc/g++编译器时,可以通过以下命令打印出编译器预编译的宏。gcc -dM -E - 2. 在VS IDE中,可以参看http://msdn.microsoft.com/zh-cn/libr转载 2017-01-11 17:18:34 · 2109 阅读 · 0 评论 -
CentOS6.5使用阿里云源
最近尝试了几个源,速度都比较慢,有的还已经失效了,阿里云质量不错。来自:http://www.centoscn.com/CentOS/config/2015/0416/5189.html阿里云是最近新出的一个镜像源。得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/Cen转载 2017-05-30 22:05:13 · 525 阅读 · 0 评论 -
安装devtoolset来满足gcc不同版本的要求
在运维的工作内,经常要编译安装各种开源组件,以CentOS 6的用户来说,大部分时候用到gcc的时候都是4.4.7版本的,在绝大多数情况下编译一些东西还是够用的,但还是有个别软件对gcc的版本是有要求的,例如rethinkdb这个东西,就要求4.8.2以上的版本,为什么呢?因为要用c++11特性,这个在CentOS6中的默认gcc版本是不支持的。要解决这个问题一般有两种方法:1、手动编译g转载 2017-06-01 23:14:09 · 1739 阅读 · 0 评论 -
centos 6.6 安装 gcc 4.9.1(通过devtoolset)
http://blog.youkuaiyun.com/csfreebird/article/details/48720443转载 2017-06-21 14:32:55 · 502 阅读 · 0 评论 -
缺少动态连接库.so--cannot open shared object file: No such file or directory
总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边ln -s /where/you/install/lib/*.so /usr/libsudo ldconfig2.修改LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/where/you/install/lib:$转载 2017-07-04 14:35:04 · 452 阅读 · 0 评论 -
Linux下优雅的让程序后台运行
Linux下优雅的让程序后台运行 假设在终端上启动运行了一个程序,跑了几天,如果不小心把terminal关了,那么程序就会终止,这是SIGHUP信号的原因,即使通过bg置为后台运行同样会如此,应该让程序成为一个daemon,步骤如下:法11.Ctrl+z 暂停程序的运行,可以看到程序的作业号,假设为1;2.bg %1 置为后台运行;3. disown -h %1 使其不受转载 2017-09-15 15:47:26 · 444 阅读 · 0 评论 -
显示调用析构函数被g++编译器优化掉不执行
最近程序在linux下运行几个小时后会出现崩溃,从coredump文件没有查找出崩溃的原因,于是,编译了一份debug版本的程序放在服务器上,却发现运行了几天都没有崩溃。后来通过日志的方式查找bug,最后发现是在Release编译的情况下,在程序中显示调用类的析构函数语句被优化掉,不执行。导致对象池数据清空失败。对象池的数据出现问题,导致程序崩溃。原创 2017-10-01 09:14:53 · 807 阅读 · 0 评论 -
Linux中VMware虚拟机增加磁盘空间的扩容操作
转自:http://www.linuxidc.com/Linux/2011-02/32083.htm用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装。如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置。通过上网搜集的资料,结合自己的实践,总结了如下扩大硬盘空间的详细步骤,希望对大家有帮助。(1)打开转载 2017-10-17 11:25:03 · 413 阅读 · 0 评论 -
centos6系统登陆界面出现“没有正确安装GNOME电源管理器的默认配置
启动时有提示按任意键进入控制台引导界面,按任意键选择kernal,然后按“e”进入编辑模式输入“ single”,注意single钱有空格,然后回车按“b”进入命令行模式输入“df -h”,显示目录使用率“100%”输入“ls”查看目录下有哪些文件,看看哪个文件中有没用的且较大的文件,使用“rm -rf 文件名”删除该文件 最后输入“init 5”,转载 2017-11-13 15:13:35 · 2827 阅读 · 0 评论 -
inux命令中which、whereis、locate有什么区别?
locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。which命令是查找命令是否存在,以及命令的存放位置在哪儿。whereis命令只能用于搜索程序名,而且只搜索二进制文件locatelocate命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这...转载 2018-04-03 09:16:10 · 364 阅读 · 0 评论 -
Vim 分屏功能+无插件Vim编程技巧
本篇文章主要教你如何使用 Vim 分屏功能。分屏启动Vim使用大写的O参数来垂直分屏。vim -On file1 file2 ...使用小写的o参数来水平分屏。vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q分屏上下分割当前打开的文件。Ctrl+W s上下分割,并打...转载 2018-04-10 14:10:07 · 684 阅读 · 0 评论 -
linux下vim中文乱码的解决方法
在vim中编辑一个中文文本时,有时候看起来有乱码,以前都是修修补补的弄没有乱码了就不管了,这个问题一直都很困扰我。突然想到这个问题,于是想把它给解决掉,在网上查了许久,有很多这方面的资料,但是说得不是很到位,经过了一天的折腾,将vim卸载了很多次,也安装了很多次,并做了一些小测试,今天终于搞定了。 1、下载 可到http://www.vim.org/下载最新的7.3版本的vim源码。 2、安装...转载 2018-04-10 14:30:37 · 434 阅读 · 0 评论 -
curl不能支持https问题
默认情况下,libcurl不支持https, 如果使用https链接,就会出现" Protocol https not supported or disabled in libcurl" 的错误提示。查看curl是否支持https可以使用命令:curl -V。解压:# tar -zxvf curl-7.49.0.tar.gz# cd curl-7.49.0# ./configure 这里注意的是最...转载 2018-04-03 14:06:24 · 1104 阅读 · 0 评论 -
gdb-为程序设置运行的参数
有三种方法可以指定程序运行的参数,第一种方法是在命令行上直接指定;第二种方法是通过run命令提供程序运行时的参数;第三种方法是通过set args命令指定程序的参数第一种方法:为程序传递参数5root@guo-virtual-machine:~/debug# gdb --args factorial 5第二种方法:为程序传递参数5(gdb) run 5123第三种方法:为程序传递参数5(gdb...转载 2018-06-28 17:02:37 · 2209 阅读 · 0 评论 -
用g++编译生成动态连接库*.so的方法及连接
用g++编译生成动态连接库*.so的方法及连接1、动态库*.so的编译这里我们用到4个文件,它们分别为:SoDemoTest.h、one.cpp、two.cpp、three.cpp。它们的内容如下: SoDemoTest.h[cpp] view plain copy #ifndef __SO_DEMO_TEST_HEADER__ #define _转载 2017-01-11 16:58:40 · 898 阅读 · 0 评论 -
gtest安装与使用示例
关于gtest的介绍这里不多说了,具体可以参考官方文档和玩转gtest系列。安装环境CentOS 32-bit 安装步骤从google test官方网站上下载gtest-1.6.0源码包。(源代码目录中的README中有gtest在各种平台的安装说明)gtest不是传统的unix安装模式(./configure; make; mak转载 2016-12-16 13:46:58 · 3039 阅读 · 0 评论 -
linux下sprintf_s函数的替代
windows平台下线程安全的格式化字符串函数sprint_s并非标准C函数,因此linux下无法使用,但可以使用snprintf函数代替。/*函数原型:*/int snprintf(char *dest, size_t n, const char *fmt, ...);/*函数说明: 最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将转载 2016-11-06 22:30:15 · 5007 阅读 · 0 评论 -
如何查看静态库内容 Unix/Linux
如何查看静态库内容 Unix/Linux以下从最好情况->最坏情况:1. 最好知道静态库的原文件(.c),要是知道声明文件(.h)也比较好。2. ar -t YourFile 看其结构,找其中的原文件。3. 可以将库文件下到本地用UE打开,然后你就找吧。另外,看动态库用 nm -D lib*.so 附:1.ar基本用法2.转载 2016-11-07 17:46:16 · 2781 阅读 · 0 评论 -
Linux 无法开机 an error occurred during the file system
由于异常关机或硬盘逻辑错误,会导致linux无法启动,无法进入操作系统。处理:1. 输入服务器root用户的密码,回车,进入命令操作界面。2. 输入fsck-y回车 ,即开始修复文件系统。时间根据硬盘的大小,在10分钟~几个小时不等。3.reboot重启转载 2016-11-16 20:27:16 · 875 阅读 · 0 评论 -
redhat6.4配置yum
声明:这篇教程会卸载你的yum源的,redhat的不是不能用,而是需要注册(买注册号就行),这里用了centOS系统的yum源1、首先到http://mirrors.163.com/centos下载软件包(1)方法一:x86 地址:http://mirrors.163.com/centos/6/os/i386/Packages/x86_64 地址:http://mirrors.转载 2016-11-16 21:21:25 · 392 阅读 · 0 评论 -
Linux下管理员权限获取(su和sudo的区别)
我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改。很多情况下,我们在进行开发的时候都是使用普通用户进行登录的,尤其在进行一些环境变量的配置工作时,常常需要对一些文件进行修改。那么我们如何获取管理员权限呢? 一般来说,有两种方法。一是:利用su命令切换到root用户,在root用户下对那些文件进行修改,完成相关配置转载 2016-11-01 21:32:58 · 516 阅读 · 0 评论 -
关于Linux下进行输入法切换的方法
今天开始使用linux系统,然后想好好的搜索一些东西,却发现没有输入法可以用,有的只是拼音,网上看了下都是说下载搜狗输入法linux版本的。选择搜狗输入法对于那些经常使用搜狗输入法的人来说当然好,可是我这里有一个简单的方法。下面给出简单的步骤和截图。1 System->Preferences->Input Method,打开Input Method Configuratio 对话框;2转载 2016-11-01 21:38:45 · 1539 阅读 · 0 评论 -
redhat6.4 安装tar.gz格式的软件
tar.gz(bz或bz2等) 一、安装1、打开一个SHELL,即终端2、用cd 命令进入源代码压缩包所在的目录3、根据压缩包类型解压缩文件(*代表压缩包名称)tar -zxvf ****.tar.gz tar -jxvf ****.tar.bz(或bz2)4、用CD命令进入解压缩后的目录5、输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去)6、然后转载 2016-11-01 21:55:29 · 465 阅读 · 0 评论 -
Linux Qt 4.7.4 编译
1.解压 qt-everywhere-opensource-src-4.7.4,目录随便2.运行./configure3.如果出现Creating qmake. Please wait...gmake: Nothing to be done for `first'.Basic XLib functionality test failed!You might转载 2016-11-01 22:38:41 · 507 阅读 · 0 评论 -
CentOS 6.4 编译安装 gcc 4.8.1
1、下载gcc 4.8.1源码包:http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.bz2或者 wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.bz22、解压gcc-4.8.1.tar.bz2:?12--解压gcc-4.转载 2016-12-10 13:21:46 · 899 阅读 · 0 评论 -
redhat6.4 64安装qt5.0.run
1、安装VMware Tools工具(可参考:http://blog.youkuaiyun.com/weichen_hi/article/details/50805319)2、开启主宿机机文件共享(可参考http://blog.youkuaiyun.com/weichen_hi/article/details/50805447)3、进入目录/mnt/hgfs/“你的设置的共享文件名”(你自己命名的转载 2016-11-03 17:58:48 · 675 阅读 · 0 评论 -
tar.xz文件如何解压
XZ压缩最新压缩率之王xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具。 之前xz使用一直很少,所以几乎没有什么提起。 我是在下载phpmyadmin的时候看到这种压缩格式的,phpmyadmin压缩包xz格式的居然比7z还要小,这引起我的兴趣。 最新一段时间会经常听到xz被采用的声音,像是最新的archlinux某些东西就使用xz压缩。不过x转载 2016-12-11 18:26:57 · 785 阅读 · 0 评论 -
linux下文件解压
解压 .tar.gztar -xzvf .tar.gz tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能转载 2016-12-13 10:43:05 · 311 阅读 · 0 评论 -
Linux下编译安装BOOST
linux平台下要编译安装除gcc和gcc-c++之外,还需要两个开发库:bzip2-devel 和python-devel,因此在安装前应该先保证这两个库已经安装:#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y然后是去官网下载源码包,地址下载,解压,按照如下步骤:#tar xvzf bo转载 2016-12-13 11:21:15 · 638 阅读 · 0 评论 -
redhat6.4 安装codeblocks
参考:https://my.oschina.net/Tsybius2014/blog/3482791、安装GTK+输入这个命令可以安装GTK+yum install gtk*查看GTK+安装情况,可以用这个命令:pkg-config --list-all | grep gtk得到的结果gtk+-2.0 GTK+ -原创 2016-12-09 15:16:18 · 1056 阅读 · 0 评论 -
Linux 平台 gcc 和动态共享库的基础知识
对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。一、GNU gcc的编译工具用法我们先来写一个简单的C程序:hello.c#include <stdio.h> void print_hello() { printf("Hell...转载 2019-03-17 10:18:43 · 256 阅读 · 0 评论