当我使用 -std = c ++ 11 标志时,我想在头文件sys / types.h,unistd.h(C风格)中使用getpid
函数我有:
“无法解析函数getpid”。
是否存在某种变通方法或等效功能?
@Edit:
我再次检查它并不是标志错误
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 :(得分:4)
#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