Вы не должны тестировать через valgrind в Mac OS X , потому что после Sierra он не поддерживается. Вместо этого я тоже делаю: устанавливаю Ubuntu с помощью программного обеспечения для виртуальной машины, затем запускаю valgrind.
macOS Mojave 10.14.6 unistd.h
содержит следующую часть:
#if __DARWIN_UNIX03
void encrypt(char *, int) __DARWIN_ALIAS(encrypt);
#else /* !__DARWIN_UNIX03 */
int encrypt(char *, int);
#endif /* __DARWIN_UNIX03 */
int fchdir(int);
long gethostid(void);
pid_t getpgid(pid_t);
pid_t getsid(pid_t);
Правилоthumb, всегда старайся быть переносимым!
Кстати, как упоминает @Andrew Henle, pid_t
может быть системно-зависимым типом. Но для сохранения переносимости это не должен быть тип без знака , поскольку в случае сбоя он может быть возвращен как -1
. Более того, в Mac OS X его тип int
, как показано ниже
typedef int __int32_t;
typedef __int32_t __darwin_pid_t; /* [???] process and group IDs */
typedef __darwin_pid_t pid_t;