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

📄 scalar.h

📁 The Valgrind distribution has multiple tools. The most popular is the memory checking tool (called M
💻 H
字号:
#include "../../../coregrind/vki_unistd-x86-linux.h"#include <assert.h>#include <errno.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <sys/syscall.h>#include <sys/stat.h>#include <sys/ptrace.h>#include <sys/types.h>// Since we use vki_unistd.h, we can't include <unistd.h>.  So we have to// declare this ourselves.extern long int syscall (long int __sysno, ...) __THROW;// Thorough syscall scalar arg checking.  Also serves as thorough checking// for (very) basic syscall use.  Generally not trying to do anything// meaningful with the syscalls.#define GO(__NR_xxx, s) \   fprintf(stderr, "-----------------------------------------------------\n"  \                   "%3d:%20s %s\n"                                            \                   "-----------------------------------------------------\n", \                   __NR_xxx, #__NR_xxx, s);#define SY  res = syscall#define FAIL  assert(-1 == res);#define SUCC  assert(-1 != res);#define SUCC_OR_FAIL    /* no test */#define FAILx(E) \   do { \      int myerrno = errno; \      if (-1 == res) { \         if (E == myerrno) { \            /* as expected */ \         } else { \         fprintf(stderr, "Expected error %s (%d), got %d\n", #E, E, myerrno); \         exit(1); \         } \      } else { \         fprintf(stderr, "Expected error %s (%d), got success\n", #E, E); \         exit(1); \      } \   } while (0);#define SUCC_OR_FAILx(E) \   do { \      int myerrno = errno; \      if (-1 == res) { \         if (E == myerrno) { \            /* as expected */ \         } else { \         fprintf(stderr, "Expected error %s (%d), got %d\n", #E, E, myerrno); \         exit(1); \         } \      } \   } while (0);

⌨️ 快捷键说明

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