⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 root.h

📁 a linux like c++ kernel
💻 H
字号:
/* root.h contain often used defines, and it _must_ be included    in every c++ source file first */#ifndef	_LIBROOT_H#define	_LIBROOT_H#include "types.h"extern inline void * operator new (size_t size, void * place){	return place;}/* call the default constructor */template <class object_t>extern inline void construct(object_t * ptr){	new (ptr) object_t();}template <class object_t>extern inline void construct(object_t * ptr, int nr){	for (object_t * end = ptr + nr; ptr < end; ptr++)		new (ptr) object_t();}template <class object_t>extern inline void dispose(object_t ** ptr){	delete *ptr;	*ptr = 0;}#define	NULL 0#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)1)->MEMBER - 1)#define DEBUG 1extern int printf(const char * fmt, ...)__attribute__((format(printf,1,2)));extern void tracefunc();#define trace(...) \do {	printf(__VA_ARGS__); \	printf(" at %s:%d:%s ", __FILE__, __LINE__, __func__); \ 	tracefunc(); } while (0)#define warn(...) do { printf("warning:"); trace(__VA_ARGS__); } while (0)#define panic(...) do { printf("panic:"); trace(__VA_ARGS__); for(;;);} while (0)#define allege(expr) \if (!(expr)) \	do { 	printf("assert \"%s\" fail ", #expr); \		trace(" "); for(;;); } while(0)#if DEBUG#define assert(expr) allege(expr)#define printd(...) printf(__VA_ARGS__)#else#define	assert(expr)#define printd(...) #endif#define debug(flag, ...) if (flag) { printf("%s:%d:", __FILE__, __LINE__); printf(__VA_ARGS__); }extern int globalvar;#include "math.h"#endif

⌨️ 快捷键说明

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