**已关闭。**此问题为not reproducible or was caused by typos。目前不接受回答。
这个问题是由错字或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
9年前关闭。
Improve this question的
我在VS 2010中做了一个控制台应用程序,以获得内核数量:这是代码:
#include <iostream>
#include "stdio.h"
#include "stdafx.h"
using namespace std;
int main(){
FILE * fp;
char res[128];
fp = popen("/bin/cat /proc/cpuinfo |grep -c '^processor'","r");
fread(res, 1, sizeof(res)-1, fp);
fclose(fp);
cout << "number of core: " << res[0] << endl;
return 0;
}
字符串
这就是它所显示的:
**1>------ Build started: Project: project_scs, Configuration: Debug Win32 ------
1>Build started 6/5/2014 8:01:03 PM.
1>InitializeBuildStatus:
1> Touching "Debug\project_scs.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1> project_scs.cpp
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(1): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(2): warning C4627: '#include "stdio.h"': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(9): error C3861: 'popen': identifier not found
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(10): error C3861: 'fread': identifier not found
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(11): error C3861: 'fclose': identifier not found
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(12): error C2065: 'cout' : undeclared identifier
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(12): error C2065: 'endl' : undeclared identifier
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.08
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========**
型
有什么问题,我该怎么办?谢谢。
2条答案
按热度按时间aemubtdh1#
确实有很多问题,但主要的问题是你错误地使用了预编译的头文件。查看MSDN了解更多信息。
此外,
popen()
不是Win32 API的一部分。它在Posix中,但您没有使用它。您可能希望 checkout_popen
:http://msdn.microsoft.com/en-us/library/96ayss4b%28v=vs.100%29.aspxtgabmvqs2#
从阅读你的错误开始:
1>c:\users\myUser\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(2): warning C4627: '#include "stdio.h"': skipped when looking for precompiled header use
。然后还要考虑Linux方法(阅读
/proc
)不太可能在可以运行Visual Studio创建的可执行文件的系统上工作。