Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1139850
  • 博文数量: 196
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2019年(31)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类: C/C++

2014-10-07 18:00:28


点击(此处)折叠或打开

  1. #pragma once

  2. #ifdef WIN32

  3. #include <Windows.h>

  4. #include <direct.h>
  5. #include <io.h>

  6. #define ACCESS _access
  7. #define MKDIR(a) _mkdir((a))

  8. #define IMIXSleep(a) Sleep(a)

  9. /************************************************************************
  10. ** ????–π??
  11. ************************************************************************/
  12. #define MemCheckTop _CrtMemState __s1, __s2, __s3;_CrtMemCheckpoint(&__s1);
  13. #define MemCheckBottom _CrtMemCheckpoint(&__s2);if (_CrtMemDifference(&__s3, &__s1, &__s2)){_CrtMemDumpStatistics(&__s3);}

  14. /************************************************************************
  15. ** Ω?≥??‰–≈∫≈??
  16. ************************************************************************/
  17. #define SemInitMutexTrue TRUE // ????”?”–??≥???
  18. #define SemIntiMutexFalse FALSE // ≤?????”?”–??≥???

  19. #else

  20. #include <stdarg.h>
  21. #include <sys/stat.h>
  22. #include <unistd.h>

  23. #include <semaphore.h>

  24. #define ACCESS access
  25. #define MKDIR(a) mkdir((a), 0755)

  26. #define IMIXSleep(a) sleep(a / 1000)

  27. #define MemCheckTop
  28. #define MemCheckBottom

  29. /************************************************************************
  30. ** Ω?≥??‰–≈∫≈??
  31. ************************************************************************/
  32. #define SemInitMutexTrue 0
  33. #define SemIntiMutexFalse 1

  34. #define BOOL int
  35. #define TRUE 1
  36. #define FALSE 0
  37. #define INFINITE 0xFFFFFFFF

  38. #define DWORD unsigned long

  39. #define SW_NORMAL 0

  40. #endif

  41. #include <string>
  42. using namespace std;

  43. /************************************************************************
  44. ** ??Ω?∫?…?≥?Ω?≥?
  45. ************************************************************************/
  46. int NewProcess(string path, unsigned short show, int *dwProcessId);
  47. BOOL DeleteProcess(int dwProcessId);
  48. int WaitForProcess(int dwProcessId, int millSeconds);

  49. /************************************************************************
  50. ** Ω?≥??‰??≥?±‰??
  51. ************************************************************************/
  52. void* CreateSem(char *semname, BOOL initVal); //initVal: TRUE,“??? ?wait??“?????
  53. void CloseSem(void *hSem);
  54. void DeleteSem(char *hSemName);

  55. void WaitForSem(void *hSem, int millSeconds);
  56. void ReleaseForSem(void *hSem, int count = 1);

阅读(1821) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~