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

📄 test.h

📁 POSIX Multithraed library for windows
💻 H
字号:
/*  * test.h * * Useful definitions and declarations for tests. * * * -------------------------------------------------------------------------- * *      Pthreads-win32 - POSIX Threads Library for Win32 *      Copyright(C) 1998 John E. Bossom *      Copyright(C) 1999,2005 Pthreads-win32 contributors *  *      Contact Email: rpj@callisto.canberra.edu.au *  *      The current list of contributors is contained *      in the file CONTRIBUTORS included with the source *      code distribution. The list can also be seen at the *      following World Wide Web location: *      http://sources.redhat.com/pthreads-win32/contributors.html *  *      This library is free software; you can redistribute it and/or *      modify it under the terms of the GNU Lesser General Public *      License as published by the Free Software Foundation; either *      version 2 of the License, or (at your option) any later version. *  *      This library is distributed in the hope that it will be useful, *      but WITHOUT ANY WARRANTY; without even the implied warranty of *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *      Lesser General Public License for more details. *  *      You should have received a copy of the GNU Lesser General Public *      License along with this library in the file COPYING.LIB; *      if not, write to the Free Software Foundation, Inc., *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * */#ifndef _PTHREAD_TEST_H_#define _PTHREAD_TEST_H_#include "pthread.h"#include "sched.h"#include "semaphore.h"#include <windows.h>#include <stdio.h>#define PTW32_THREAD_NULL_ID {NULL,0}#if defined(__MINGW32__)#include <stdint.h>#elif defined(__BORLANDC__)#define int64_t ULONGLONG#else#define int64_t _int64#endifchar * error_string[] = {  "ZERO_or_EOK",  "EPERM",  "ENOFILE_or_ENOENT",  "ESRCH",  "EINTR",  "EIO",  "ENXIO",  "E2BIG",  "ENOEXEC",  "EBADF",  "ECHILD",  "EAGAIN",  "ENOMEM",  "EACCES",  "EFAULT",  "UNKNOWN_15",  "EBUSY",  "EEXIST",  "EXDEV",  "ENODEV",  "ENOTDIR",  "EISDIR",  "EINVAL",  "ENFILE",  "EMFILE",  "ENOTTY",  "UNKNOWN_26",  "EFBIG",  "ENOSPC",  "ESPIPE",  "EROFS",  "EMLINK",  "EPIPE",  "EDOM",  "ERANGE",  "UNKNOWN_35",  "EDEADLOCK_or_EDEADLK",  "UNKNOWN_37",  "ENAMETOOLONG",  "ENOLCK",  "ENOSYS",  "ENOTEMPTY",  "EILSEQ",};/* * The Mingw32 assert macro calls the CRTDLL _assert function * which pops up a dialog. We want to run in batch mode so * we define our own assert macro. */#ifdef assert# undef assert#endif#ifndef ASSERT_TRACE# define ASSERT_TRACE 0#else# undef ASSERT_TRACE# define ASSERT_TRACE 1#endif# define assert(e) \   ((e) ? ((ASSERT_TRACE) ? fprintf(stderr, \                                    "Assertion succeeded: (%s), file %s, line %d\n", \			            #e, __FILE__, (int) __LINE__), \	                            fflush(stderr) : \                             0) : \          (fprintf(stderr, "Assertion failed: (%s), file %s, line %d\n", \                   #e, __FILE__, (int) __LINE__), exit(1), 0))int assertE;# define assert_e(e, o, r) \   (((assertE = e) o (r)) ? ((ASSERT_TRACE) ? fprintf(stderr, \                                    "Assertion succeeded: (%s), file %s, line %d\n", \			            #e, __FILE__, (int) __LINE__), \	                            fflush(stderr) : \                             0) : \          (fprintf(stderr, "Assertion failed: (%s %s %s), file %s, line %d, error %s\n", \                   #e,#o,#r, __FILE__, (int) __LINE__, error_string[assertE]), exit(1), 0))#endif

⌨️ 快捷键说明

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