windows下编译ZThread-2.3.2

到网上下载ZThread-2.3.2

用VS2008编译静态库,新建win32静态库工程CompileZThread,

设置头文件路径../ZThread-2.3.2\include

将src文件夹中的文件(子文件夹不要添加)拷贝到CompileZThread工程文件夹中,并添加到工程中
将src文件夹里的子文件夹vanilla、solaris、win32里的文件也添加到工程中。

在查找预编译头使用时跳过,设置-不使用预编译头

移除 AtomicCount类的两个实现文件,一个在工程目录下,一个咋win32目录下
因为工程目录下的AtomicCount.cxx代码如下,与平台相关的条件编译在下载的源码中已经被注释,直接包含了#  include "vanilla/SimpleAtomicCount.cxx",所以AtomicCount的实现文件只留vanilla目录下的SimpleAtomicCount.cxx,其他两个都移除,还有一个在win32目录下,该目录下的实现文件不全,没有实现++,--的前置和后置操作符


测试程序:
#include <iostream>
#include "zthread/Runnable.h"
#include "zthread/PoolExecutor.h"

using namespace ZThread;  
using namespace std;

class LiftOff : public Runnable  
{  
public:  
    LiftOff(int count, int idn = 0): countDown(count), id(idn) {}  
    ~LiftOff()  
    {  
        cout<< id << "  competed" <<endl;  
    }  
    void run()  
    {  
        while (countDown--)  
        {  
            cout << id << " : " <<countDown <<endl;  
        }  
        cout<<"LiftOff!" <<endl;  
    }  
private:  
    int countDown;  
    int id;  
}; 

int _tmain(int argc, _TCHAR* argv[])
{
    try  
    {  
        for (int i = 0; i < 1; i++)  
        {  
            //LiftOff a(10, i);  
            //Thread  t(&a );  
            Thread t(new LiftOff(5,i));  
        }  
        cout <<"Waiting for LiftOff" <<endl;  
    }  
    catch (Synchronization_Exception&  e)  
    {  
        cerr << e.what() <<endl;  
    }  
    cin.get();  
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值