1.libtorrent 简介,下载和编译 libtorrent简介 libtorrent是功能齐全的C ++ bittorrent的p2p协议实现,专注于效率和可伸缩性.它可以在嵌入式设备和台式机上运行.它拥有完善的文档库,易于使用. 它提供了client_test可以用于解析torrent种子和磁力链接.常见使用libtorrent库的项目有qBittorrent,deluge,Free download manager等. libtorrent官网地址:http://libtorrent.…
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元.  ---------------------------------------------------------------------------------…
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a|so) not found 检查之后发现已经安装了libjpeg [root@localhost php-]# yum list installed|grep libpng libpng.x86_64 :-.el6_2 或者: [root@localhost php-]# rpm -qa|grep…
Linux下p2p的聊天功能实现细节 Do one thing at a time, and do well. 今天闲着没事,写一个P2P的点对点的聊天功能的小程序,我觉得对网络编程初学者的学习很有用的.二话不说,我先贴代码吧.有几个地方需要考虑清楚.我会在代码的后面写出来.代码的下载文章的末尾. server.c #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <…
linux下getsockopt和setsockopt详解及测试 NAME 名字 getsockopt, setsockopt - get and set options on sockets 获取或者设置套接字的选项 SYNOPSIS 函数原型 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void…
LINUX下一款不错的网站压力测试工具webbench 分类: Linux 2014-07-03 09:10 220人阅读 评论(0) 收藏 举报 [html] view plaincopy wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make && make install 如果在编译webbench的时候,出现…
第一部分:编译过程 先了解一下linux下C代码的编译过程,C代码的编译,一般分成四个阶段,包括:预编译,编译,汇编和链接,这四个阶段的分工是 预处理过程,负责头文件展开,宏替换,条件编译的选择,删除注释等工作.gcc –E表示进行预处理. 编译过程,负载将预处理生成的文件,经过词法分析,语法分析,语义分析及优化后生成汇编文件.gcc –S表示进行编译. 汇编,是将汇编代码转换为机器可执行指令的过程.通过使用gcc –C或者as命令完成. 链接,负载根据目标文件及所需的库文件产生最终的可执行文件…
零.问题 1. 为什么要用到库? 2. 我要用一个库,但是,尼玛命令行上该怎么写呢?或者说库文件如何使用? 3. Linux的库在那些地方? 4. 什么是静态库,什么是动态库,二者有啥区别? 5. 常见的与库管理相关的命令有哪些? 6. 什么是库? 一.库函数简介 C语言中有一些函数会执行一些标准任务,可以事先对这些函数进行编译,然后将他们放置在一些特殊的目标代码文件中,这些目标代码文件称为库.库文件中的函数可以通过连接程序与应用程序进行链接,这样就不用在每次执行程序时都对这些通用的函数进行编译…
MySQL 5.6正式版发布了,相对于5.5版本作出了不少改进,其源码安装配置方式也有所变化,本文根据实际操作,不断尝试,精确还原了安装的具体步骤. 在Linux下安装MySQL前,先确认卸载系统自带数据库 打开操作终端 输入rpm -qa|grep mysql(罗列所有数据库相关的文件) rpm –e (罗列出来的文件)--nodeps(使用该命令依次删除罗列出来的文件)--nodeps为删除与之依赖的文件. 确认Internet连接正常,以便下载安装文件. 先使用 yum -y update…
在linux平台上编译时,常会遇到目标库的疑问,有静态库也有动态库,单个理解都不太难,但是对复杂的工程而言,一旦混合到一起去,对整个工程的理解和调用,将会造成很大困扰,本文就汇总这几种常见编译结果文件的区别. 一.格式说明 linux下编译,常会遇到后缀为:.o .so .a .la .ko等格式文件,尽管linux并不以扩展名作为识别文件格式的唯一依据,但规范约定还是有的,如下: .o 是目标对象文件,相当于windows中的.obj文件 .a 为静态库,可以是一个或多个.o合在一起,用于静态…
效果图: 这里显示的图和原图有明显的色差,目前猜测是opengl渲染时的颜色表顺序跟BMP文件里的颜色表顺序相反导致. BMP里应该是BGRBGRBRG... ,而opengl渲染时应该是按照RGBRGBRGB...的顺序,所以就是B和R是反的,白色和 黑色区域不变是因为白色是全F,黑色是全0,交换后还是一样,这也证明了猜测.此问题待解决. 原图: 显示:         使用freeglut开源库 freeglut库是glut库的开源实现,API同glut的无缝衔接,几乎无区别 下载地址:ht…
概述 Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库.linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib. 静态函数库: 这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进可执行文件了.当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译,而且体积也较大. 动态函数库…
摘自:http://blog.csdn.net/todorovchen/article/details/21319033 另请参见: http://blog.sina.com.cn/s/blog_8cfbb9920100zy7g.html LINUX 下 JNA 调用 so--正确版 项目中需要用到Java调用c++,了解过JNI,但比较复杂,后来看到JNA(JNI的加强版). 网上看了很多例子,但是始终出错,主要错误原因是undefined symbol,找不到c++ 方法. 教程的有些细节没…
在这里插一小节加密的吧,使用openssl库进行加密. 使用MD5加密 我们以一个字符串为例,新建一个文件filename.txt,在文件内写入hello ,然后在Linux下可以使用命令md5sum filename.txt计算md5值 ==> b1946ac92492d2347c6235b4d2611184  .虽然写入的是hello这5个字符,但是我们使用命令xxd filename.txt后可以看出文件结尾处会有个0x0a这个回车符.所以在下面的代码中才会有\n. //打开/usr/in…
解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如以下错误: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVzdF9zdXBlcm1hbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=&…
注意其中使用函数返回基类指针的用法,因为Linux的动态链接库不能像MFC中那样直接导出类 一.介绍 如何使用dlopen API动态地加载C++函数和类,是Unix C++程序员经常碰到的问题. 事实上,情况偶尔有些复杂,需要一些解释.这正是写这篇mini HOWTO的缘由. 理解这篇文档的前提是对C/C++语言中dlopen API有基本的了解. 这篇HOWTO的维护链接是: http://www.isotton.com/howtos/C++-dlopen-mini-HOWTO/ 二.问题所…
1.进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块: cd curl 执行phpize生成编译文件,phpize在PHP安装目录的bin目录下 /usr/local/php/bin/phpize 运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set c…
 GCC 找头文件有三种策略: 1. 会在默认情况下指定到 /usr/include 文件夹 ( 更深层次的是一个相对路径, GCC 可执行程序的路径是 /usr/bin ,那么它在实际工作时指定头文件头径是一种相对路径方法,换算成绝对路径就是 /usr/include) 2.GCC 还使用了 -I 指定路径的方式,这一点大家都知道 3. 还可以使用一个参数来指示 GCC 不搜索系统默认路径,这个参数我忘了,你搜一下就知道了 (是: -nostdinc    选项 使编译器不再 系统缺省的头文件…
程序运行是加载动态库的几种方法: 第一种,通过ldconfig命令    ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令它,ldconfig命令通常在系统启动时运行,而当一个用户安装我新的动态库时,就需要手工运行这个命令.ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(…
首先安装基础依赖组建,注:这些依赖组建也是LINUX+PHP+MYSQL+APACHE+NGINX+MEMCACHED时必要的系统组件  LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-deve…
前言 总有人说:要多看源代码!那么源代码去哪找呢?找到了又该怎么安装呢?本票博客不介绍如何使用和学习,只要讲获取和安装,以后会将curl和libevent的使用和学习. 一.开源库常用安装步骤 1.开源库下载 github全球最大的同性交流社区,还不赶紧get一下!里面有大量的开源项目和开源库,也可以上传自己的代码,注册一下帐户就可以了,这里就不讲怎么使用github了.注册可以去首页搜索:libevent,libevent是常规数据库安装,所以拿它来举例,如果懒得去搜,把地址直接给你:http…
1.关于编译和链接 一般来说,无论是C.C++,首先要把源文件编译成中间代码文件,在Windows下也就是.obj文件,UNIX下是.o文件,即Object File,这个动作叫做编译(compile).然后再把大量的Object File合成执行文件,这个动作叫作链接(link). 也就是源文件(.c 文件或者.cpp文件)首先会生成中间目标文件,再由中间目标文件生成执行文件.在编译时,编译器只检测程序语法,和函数.变量是否被声明.如果函数未被声明,编译器会给出一个警告,但可以生成Object…
linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve,命令如下: >yum -y install subversion # yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命令: >rpm -ql subversion # rpm -ql…
之前把公司的开发环境由Ubuntu Kylin 换成了Arch Linux.而Arch 下由于种种问题公司的代码一直编只是去.搞定了之后也一直忘了写下来,希望能给相同在Arch 下做Android 开发的另类一点帮助吧.这里所编译的Android 版本号基于Google 的Android 5.1. 安装基本依赖 首先在文件/etc/pacman.conf中打开你的multilib repo [multilib] Include = /etc/pacman.d/mirrorlist 然后强制更新一…
http://www.vckbase.com/index.php/wv/10http://blog.csdn.net/zlzlei/article/details/7689409 文章一: 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务.UDP(user datagram pro…
在此之前一直是一个关键构建webserver.但一个关键的建筑环境都比较旧的.假定使用一个相对较新的环境,尤其是正式的server.您必须手动编译自己建(基于以下的结构linux centos6.5 32地点server). 三.安装php 进入安装文件夹: cd /opt 下载并解压: Wget http://am1.php.net/get/php-5.4.34.tar.gz/from/this/mirror tar -zxf php-5.4.34.tar.gz 进入文件夹编译: cd php…
如果生成的可执行文件或库比较大,这时候就可以使用strip命令进行裁减,在嵌入式开发中,如果使用的交叉编译工具是arm-linux,则命令 是arm-linux-strip,如果是arm-uclibc-linux,则命令是arm-uclibc-linux-strip. 因为开发板上的空间本来就很少,使用这个命令可以进一步减少可执行文件的大小,从而可以在开发板上可以存放更过的可执行文件.下面简单介绍一下这个命令: 主要是把编译的库文件或者可执行文件里的一些调试信息和符号信息去除. 使用strip对…
.a 文件的结构和.tar文件就没有什么区别. x 命令解出来, a 命令添加, t命令列表 假设A.a, B.a C.a 在/usr/local/lib目录下 mkdir /tmp/libABC cd /tmp/libABC ar x /usr/local/lib/A.a ar x /usr/local/lib/B.a ar x /usr/local/lib/C.a ar cru libABC.a *.o ranlib libABC.a…
在编程的时候,我们可以把一个完整程序的每个函数分离出来,写成.c文件,最后再一起编译和链接.这样有利于程序功能模块化,也方便检查代码错误. .h文件:里面编辑该程序需要引用的头文件. #ifndef  /#define / #endif : 防止该头文件被重复引用. 整体用法: #ifndef  A_H             //如果没有a.h文件,#define A_H.如果有,结束定义 #define  A_H            //定义a.h文件 定义a.h需要的头文件 #endif…
这是由于python的版本没有包含tkinter的模块,只需要把tk的package安装就可以了. 一般在linux才出现,windows版本一般已经包含了tkinter模块.…