首页
社区
课程
招聘
测试代码着色
发表于: 2017-2-20 12:50 2181

测试代码着色

2017-2-20 12:50
2181
def cuckoo_main(max_analysis_count=0):
    """Cuckoo main loop.
    @param max_analysis_count: kill cuckoo after this number of analyses
    """
    cur_path = os.getcwd()
    os.chdir(CUCKOO_ROOT)
    try:
        sched = Scheduler(max_analysis_count)
        sched.start()
    except KeyboardInterrupt:
        sched.stop()
    os.chdir(cur_path)



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 26359
活跃值: (63277)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
确实没有,优化中。。。。。
2017-2-20 12:54
0
雪    币: 266
活跃值: (44)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
int a=0;
System.
File.


2017-2-27 16:11
0
雪    币: 14515
活跃值: (3333)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
#pragma once
#include <typeinfo.h>
#include <list>
#include <vector>
namespace Delegate
{
// IDelegate   提供接口的基类
template<typename ReturnType, typename ...ParamType>
class IDelegate
{
public:
IDelegate(){}
virtual ~IDelegate(){}
virtual bool isType(const std::type_info& _type) = 0;
virtual ReturnType invoke(ParamType ... params) = 0;
virtual bool compare(IDelegate<ReturnType, ParamType...> *_delegate) const = 0;
};
//StaticDelegate 普通函数的委托
template<typename ReturnType, typename ...ParamType>
class CStaticDelegate :
public IDelegate<ReturnType, ParamType...>
{
public:
typedef  ReturnType(*Func)(ParamType...);
CStaticDelegate(Func _func) : mFunc(_func) { }
virtual bool isType(const std::type_info& _type) { return typeid(CStaticDelegate<ReturnType, ParamType...>) == _type; }
virtual ReturnType invoke(ParamType ... params) { return mFunc(params...); }
virtual bool compare(IDelegate<ReturnType, ParamType ...> *_delegate)const
{
if (0 == _delegate || !_delegate->isType(typeid(CStaticDelegate<ReturnType, ParamType ...>))) return false;
CStaticDelegate<ReturnType, ParamType ...> * cast = static_cast<CStaticDelegate<ReturnType, ParamType ...>*>(_delegate);
return cast->mFunc == mFunc;
}
virtual ~CStaticDelegate(){}
private:
Func mFunc;
};
//普通函数的委托特化版本
template<typename ReturnType, typename ...ParamType>
class CStaticDelegate<ReturnType(*)(ParamType ...)> :
public IDelegate<ReturnType, ParamType ...>
{
public:
//定义 Func 为 void (void) 函数类型指针。
typedef  ReturnType(*Func)(ParamType...);
CStaticDelegate(Func _func) : mFunc(_func) { }
virtual bool isType(const std::type_info& _type) { return typeid(CStaticDelegate<ReturnType(*)(ParamType ...)>) == _type; }
virtual ReturnType invoke(ParamType ... params) { return mFunc(params...); }
virtual bool compare(IDelegate<ReturnType, ParamType ...> *_delegate)const
{
if (0 == _delegate || !_delegate->isType(typeid(CStaticDelegate<ReturnType(*)(ParamType ...)>))) return false;
CStaticDelegate<ReturnType(*)(ParamType ...)> * cast = static_cast<CStaticDelegate<ReturnType(*)(ParamType ...)>*>(_delegate);
return cast->mFunc == mFunc;
}
virtual ~CStaticDelegate(){}
private:
Func mFunc;
};
//成员函数委托
template<typename T, typename ReturnType, typename ...ParamType>
class CMethodDelegate :
public IDelegate<ReturnType, ParamType...>
{
public:
typedef ReturnType(T::*Method)(ParamType...);
CMethodDelegate(T * _object, Method _method) : mObject(_object), mMethod(_method) { }
virtual bool isType(const std::type_info& _type) { return typeid(CMethodDelegate<T, ReturnType, ParamType...>) == _type; }
virtual ReturnType invoke(ParamType...params)
{
(mObject->*mMethod)(params...);
}
virtual bool compare(IDelegate<ReturnType, ParamType...> *_delegate) const
{
if (0 == _delegate || !_delegate->isType(typeid(CMethodDelegate<ReturnType, ParamType...>))) return false;
CMethodDelegate<ReturnType, ParamType...>* cast = static_cast<CMethodDelegate<ReturnType, ParamType...>*>(_delegate);
return cast->mObject == mObject && cast->mMethod == mMethod;
}
CMethodDelegate(){}
virtual ~CMethodDelegate(){}
private:
T * mObject;
Method mMethod;
};
//成员函数委托特化
template<typename T, typename ReturnType, typename ...ParamType>
class CMethodDelegate<T,ReturnType (T:: *)(ParamType...)> :
public IDelegate<ReturnType, ParamType...>
{
public:
typedef ReturnType(T::*Method)(ParamType...);
CMethodDelegate(T * _object, Method _method) : mObject(_object), mMethod(_method) { }
virtual bool isType(const std::type_info& _type) { return typeid(CMethodDelegate<T,ReturnType(T:: *)(ParamType...)>) == _type; }
virtual ReturnType invoke(ParamType...params)
{
return (mObject->*mMethod)(params...);
}
virtual bool compare(IDelegate<ReturnType, ParamType...> *_delegate) const
{
if (0 == _delegate || !_delegate->isType(typeid(CMethodDelegate<T, ReturnType(T:: *)(ParamType...)>))) return false;
CMethodDelegate<T, ReturnType(T:: *)(ParamType...)>* cast = static_cast<CMethodDelegate<T, ReturnType(T:: *)(ParamType...)>*>(_delegate);
return cast->mObject == mObject && cast->mMethod == mMethod;
}
CMethodDelegate(){}
virtual ~CMethodDelegate(){}
private:
T * mObject;
Method mMethod;
};
//多播委托
template<typename ReturnType, typename ...ParamType>
class CMultiDelegate
{
public:
typedef std::list<IDelegate<ReturnType, ParamType...>*> ListDelegate;
typedef typename ListDelegate::iterator ListDelegateIterator;
typedef typename ListDelegate::const_iterator ConstListDelegateIterator;
CMultiDelegate() { }
~CMultiDelegate() { clear(); }
bool empty() const
{
for (ConstListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if (*iter) return false;
}
return true;
}
void clear()
{
for (ListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if (*iter)
{
delete (*iter);
(*iter) = nullptr;
}
}
}
CMultiDelegate<ReturnType, ParamType...>& operator+=(IDelegate<ReturnType, ParamType...>* _delegate)
{
for (ListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if ((*iter) && (*iter)->compare(_delegate))
{
delete _delegate;
return *this;
}
}
mListDelegates.push_back(_delegate);
return *this;
}
CMultiDelegate<ReturnType, ParamType...>& operator-=(IDelegate<ReturnType, ParamType...>* _delegate)
{
for (ListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if ((*iter) && (*iter)->compare(_delegate))
{
if ((*iter) != _delegate) delete (*iter);       //避免同一个地址被delete两次
(*iter) = 0;
break;
}
}
delete _delegate;
return *this;
}
std::vector<ReturnType> operator()(ParamType... params)
{
ListDelegateIterator iter = mListDelegates.begin();
std::vector<ReturnType> _Results;
while (iter != mListDelegates.end())
{
if (0 == (*iter))
{
iter = mListDelegates.erase(iter);
}
else
{
_Results.push_back((*iter)->invoke(params...));
++iter;
}
}
return _Results;
}
private:
CMultiDelegate<ReturnType, ParamType...>(const CMultiDelegate& _event);
CMultiDelegate<ReturnType, ParamType...>& operator=(const CMultiDelegate& _event);
private:
ListDelegate mListDelegates;
};
template< typename ...ParamType>
class CMultiDelegate<void, ParamType...>
{
public:
typedef std::list<IDelegate<void, ParamType...>*> ListDelegate;
typedef typename ListDelegate::iterator ListDelegateIterator;
typedef typename ListDelegate::const_iterator ConstListDelegateIterator;
CMultiDelegate() { }
~CMultiDelegate() { clear(); }
bool empty() const
{
for (ConstListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if (*iter) return false;
}
return true;
}
void clear()
{
for (ListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if (*iter)
{
delete (*iter);
(*iter) = nullptr;
}
}
}
CMultiDelegate<void, ParamType...>& operator+=(IDelegate<void, ParamType...>* _delegate)
{
for (ListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if ((*iter) && (*iter)->compare(_delegate))
{
delete _delegate;
return *this;
}
}
mListDelegates.push_back(_delegate);
return *this;
}
CMultiDelegate<void, ParamType...>& operator-=(IDelegate<void, ParamType...>* _delegate)
{
for (ListDelegateIterator iter = mListDelegates.begin(); iter != mListDelegates.end(); ++iter)
{
if ((*iter) && (*iter)->compare(_delegate))
{
if ((*iter) != _delegate) delete (*iter);       //避免同一个地址被delete两次
(*iter) = 0;
break;
}
}
delete _delegate;
return *this;
}
void operator()(ParamType... params)
{
ListDelegateIterator iter = mListDelegates.begin();
while (iter != mListDelegates.end())
{
if (0 == (*iter))
{
iter = mListDelegates.erase(iter);
}
else
{
(*iter)->invoke(params...);
++iter;
}
}
}
private:
CMultiDelegate<void, ParamType...>(const CMultiDelegate& _event);
CMultiDelegate<void, ParamType...>& operator=(const CMultiDelegate& _event);
private:
ListDelegate mListDelegates;
};
template< typename T>
CStaticDelegate<T>* newDelegate(T func)
{
return new CStaticDelegate<T>(func);
}
template< typename T,typename F>
CMethodDelegate<T,F>* newDelegate(T * _object, F func)
{
return new CMethodDelegate<T, F>(_object, func);
}
}
2017-2-27 16:21
0
雪    币: 14515
活跃值: (3333)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
缩进有些问题
2017-2-27 16:21
0
雪    币: 4005
活跃值: (5645)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
    public static void main(String[] args) {
        //TODO 代码缩进
    }
2017-2-27 16:42
0
游客
登录 | 注册 方可回帖
返回
//