📄 tcssl.h
字号:
/* -*- C++ -*- */
//=============================================================================
/**
* @文件 TcsSL.h
*
* TcsSL.h, 版本 1.30 2008/12/15
*
* @作者 邓雪清 <xueqingdeng@sohu.com>
* 单向链表类
*/
//=============================================================================
#ifndef _TCS_SL_H_
#define _TCS_SL_H_
#if !defined (_WIN32)
#define DLLEXPORT
#elif !defined (DLLEXPORT)
#if defined (_LIB)
#define DLLEXPORT
#elif defined (_USRDLL)
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT __declspec(dllimport)
#endif
#endif
#include <Windows.h>
// ----- CTcsSL -------------------------------------------------------------
class DLLEXPORT CTcsSL
{
protected:
struct NODE {
NODE *next;
void *data;
};
public:
CTcsSL(void);
~CTcsSL(void);
void Lock(void);
void Lose(void);
long GetSize(void);
void *PopData(void);
void *PutData(void *pData);
protected:
NODE *NewNode(void);
NODE *m_pHead;
NODE *m_pFree;
void *m_mLock;
long m_nSize;
};
inline void CTcsSL::Lock(void)
{
::WaitForSingleObject(m_mLock, INFINITE);
}
inline void CTcsSL::Lose(void)
{
::ReleaseMutex(m_mLock);
}
inline long CTcsSL::GetSize(void)
{
return m_nSize;
}
#endif // _TCS_SL_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -