xslock.h

来自「ARM上的如果你对底层感兴趣」· C头文件 代码 · 共 36 行

H
36
字号
#ifndef __XSlock_h__
#define __XSlock_h__

class XSLockManager
{
public:
	XSLockManager() { InitializeCriticalSection(&cs); };
	~XSLockManager() { DeleteCriticalSection(&cs); };
	void Enter(void) { EnterCriticalSection(&cs); };
	void Leave(void) { LeaveCriticalSection(&cs); };
protected:
	CRITICAL_SECTION cs;
};

XSLockManager g_XSLock;

class XSLock
{
public:
	XSLock() { g_XSLock.Enter(); };
	~XSLock() { g_XSLock.Leave(); };
};

CPerlObj* pPerl;

#undef dXSARGS
#define dXSARGS	\
	dSP; dMARK;		\
	I32 ax = mark - PL_stack_base + 1;	\
	I32 items = sp - mark; \
	XSLock localLock; \
	::pPerl = pPerl


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?