getpid в linux при использовании -std = c ++ 11 в качестве флага компилятора

Я хотел бы использовать getpid функция из заголовков sys / types.h, unistd.h (стиль C), когда я использую -станд = C ++ 11 флаг, но после этого у меня есть:

msgstr «функция getpid не может быть разрешена».

Есть ли какое-то решение или эквивалентная функция?

@Редактировать:

Я проверяю это еще раз, и это не ошибка флага

head.h

#ifndef HEAD_H_
#define HEAD_H_

#include <sys/types.h>
#include <unistd.h>

void test();

#endif /* HEAD_H_ */

head.cpp

#include "head.h"
void test()
{
pid_t pid = getpid(); // Function 'getpid' could not be resolved
}

и это странно, потому что я также делаю тестирование на «чистом» проекте, и проблем не было вообще.

main.cpp

#include <sys/types.h>
#include <unistd.h>

int main()
{
pid_t pid = getpid();

return 0;
}

Похоже, я не могу получить какую-либо функцию из Unistd, потому что

    char* a_cwd = getcwd(NULL,0);

также не решена

0

Решение

#include <unistd.h>
#include <iostream>

int main()
{
std::cout << getpid() << std::endl;
return 0;
}

dgs@dhome:~/Develop/Test2$ g++ -std=c++11 getpid.cpp
dgs@dhome:~/Develop/Test2$ ./a.out
11980

dgs@dhome:~/Develop/Test2$ g++ --version
g++ (Debian 4.9.2-10) 4.9.2
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]