易截截图软件、单文件、免安装、纯绿色、仅160KB

从windows移植到linux碰到的问题

环境: LINUX 企业版5.0
        boost_1.40, zlib_1.53, lua_1.5
 
工具:  codelite
 
如何编译boost, zlib, lua:
编译boost:
1. 进入boost_1_40_0文件夹
2. ./bootstrap.sh
3.  ./bjam install
就这3步就装好boost了
 
编译lua:
make
make generic
make install
 
编译zlib:
./configure
make
make install
设置工程要引用的libs,include 
环境达好了就是改代码了
 
1.在windows下面经常引用文件如 #include "xxx\ ttt.h",这个在linux下是不行的
要改成#include "xxx/ ttt.h",
 
2.strcpy在linux下面最好用strncpy替代, sscanf_s直接用sscanf替代好了
 
3.如果用到了hashmap,那就有点恶心了
我是单起了一个文件处理:
#ifndef _UTILIY_HASHMAP_H_
#define _UTILIY_HASHMAP_H_
#ifdef __WINDOWS
#include <hash_map>
#define hashmap stdext::hash_map
#else
#include <ext/hash_map>
#include <string>
#include "utility_fixstring.h"
struct lua_State;
namespace __gnu_cxx
{
template<> struct hash<std::string>
{
size_t operator()(const std::string & x) const
{
return hash<const char*>()(x.c_str());
}
};

template<unsigned int sz> struct hash<qin::fix_string<sz> >
{
size_t operator()(const qin::fix_string<sz> & x) const
{
return hash<const char*>()(x.c_str());
}
};

template<> struct hash<lua_State*>
{
size_t operator()(const lua_State* const& key) const
{
return ((size_t)(void*)(unsigned long)key) >> 4;
}
};
}
using namespace __gnu_cxx;
#define hashmap __gnu_cxx::hash_map
#endif
#endif
TMD,在linux下面你自己定义的结构体类型做key的时候,都要重写hash函数的,结构体指针就要转换成整型值判断
对编译库文件,生成文件名字前要加lib,比如设置库输出路径的时候lib$ProjectName.a 
如何引用库:
先设置要要引用的路径,然后把对应库的.0文件从/usr/local/lib考到/usr/lib下
未完,先吃饭


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

Ubuntu上建立Arm Linux 开发环境

目的:
把ARM linux的交叉开发环境,kernel, filesystem,
bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统;
资源:
代码:
arm-linux-toolchains.tgz
matrix5-kernel-v5.5.tgz
vivi.tar.gz
Jflash.tgz
root-for-nfs-v5.5.tgz
规划:
交叉编译器装在:/usr/local/
ker ......

iostat来对linux硬盘IO性能进行了解

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]
本文链接: http://www.php-oa.com/2009/02/03/iostat.html
 以前一直不太会用这个参数。现在认真研究了一下iostat,因为刚好有台重要的服务器压力高,所以放上来分析一下.下面这台就是IO有压力过大的服务器
$iostat -x 1
Linux 2.6.33-fukai (fukai-lap ......

LINUX c++线程池框架

版权声明:原文地址及作者不详,如有侵权,请联系;
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现, ......

Linux Shell自动交互的三种方法


你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享一下。
一、背景
shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号