Multithreading can';我无法从编程书(c+;+;)中运行我的代码

Multithreading can';我无法从编程书(c+;+;)中运行我的代码,multithreading,visual-c++,compilation,Multithreading,Visual C++,Compilation,我有一本新的编程书(cameron hughes,tracey hughes的多核编程)。 到目前为止,我还没有他们的一个程序可以运行。他们的书说它应该可以在99%的计算机上运行,所以我有点困惑,但在他们书中的每个程序的末尾,他们都有“编译和链接指令”。。。我需要输入吗?它看起来有点像“C++-o猜猜它猜猜它.cc”。我现在运行的代码是: #include <iostream> #include <windows.h> #include <string> #i

我有一本新的编程书(cameron hughes,tracey hughes的多核编程)。 到目前为止,我还没有他们的一个程序可以运行。他们的书说它应该可以在99%的计算机上运行,所以我有点困惑,但在他们书中的每个程序的末尾,他们都有“编译和链接指令”。。。我需要输入吗?它看起来有点像“C++-o猜猜它猜猜它.cc”。我现在运行的代码是:

#include <iostream>
#include <windows.h>
#include <string>
#include <spawn.h>
#include <sys/wait.h>

using namespace std;

int main(int argc,char *argv[],char *envp[])
{

 pid_t ChildProcess;
 pid_t ChildProcess2;
 int RetCode1;
 int RetCode2;
 int Value;
 RetCode1 = posix_spawn(&ChildProcess,"find_code",NULL,
                        NULL,argv,envp);
 RetCode2 = posix_spawn(&ChildProcess2,"find_code",NULL,
                        NULL,argv,envp);
 wait(&Value);
 wait(&Value);
 return(0);
 }
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[],char*envp[]
{
pid_t过程;
pid_t ChildProcess2;
int-RetCode1;
int-RetCode2;
int值;
RetCode1=posix_spawn(&ChildProcess,“查找代码”,NULL,
NULL、argv、envp);
RetCode2=posix_spawn(&ChildProcess2,“查找代码”,NULL,
NULL、argv、envp);
等待(&Value);
等待(&Value);
返回(0);
}
我运行的是windows 7(32位),AMD athion x2 7550双核处理器,VC++2008快速版。 我收到以下错误:致命错误C1083:无法打开包含文件:“spawn.h”:没有这样的文件或目录


有人知道我为什么不能运行代码吗?我需要下载什么吗?因为我读了这本书,没有看到任何关于下载的内容,但我可能错了(

这本书似乎在使用POSIX线程。Visual Studio默认使用Windows线程,它有一个完全不同的API


您很可能只需要获取一个.h的副本,其中包括
spawn.h
和供您使用的适当的lib文件。

该书似乎正在使用POSIX线程。Visual Studio默认使用Windows线程,它具有完全不同的API


您很可能只需要获得一份.h的副本,其中包括
spawn.h
和适当的lib文件供您使用。

如果我误读了您的经验水平,请原谅,但听起来您似乎是这门语言的完全初学者

本书中的示例汇编和链接说明

C++ -o guess_it guess_it.cc

是如何从命令行调用编译器和链接器的一个例子。如果使用VisaC++,IDE会在单击“生成”按钮时自动为您编译和链接进程,因此您不必担心从命令行中执行此操作。 关于在VC++中看到的错误:

编译器告诉您,它找不到头文件spawn.h,您已经告诉它,您的程序需要该文件

#include <spawn.h>
#包括
正如本页其他人提到的,spawn.h是POSIX标准库提供的文件,包含生成新进程的功能

恕我直言,这听起来就像你问问题的方式(“编译和链接说明”)好像你不真正了解你在做什么。在你深入研究C++中的多线程之前,我建议你先退一步,然后用Visual Studio从C++开始找到初学者的书。如果你不花时间去学习基本原理,并且使用编译器是关于A的,恐怕你的进步将很小。这是最基本的


祝你好运!

如果我误读了你在这里的经验水平,请原谅,但听起来你似乎是这门语言的完全初学者

本书中的示例汇编和链接说明

C++ -o guess_it guess_it.cc

是如何从命令行调用编译器和链接器的一个例子。如果使用VisaC++,IDE会在单击“生成”按钮时自动为您编译和链接进程,因此您不必担心从命令行中执行此操作。 关于在VC++中看到的错误:

编译器告诉您,它找不到头文件spawn.h,您已经告诉它,您的程序需要该文件

#include <spawn.h>
#包括
正如本页其他人提到的,spawn.h是POSIX标准库提供的文件,包含生成新进程的功能

恕我直言,这听起来就像你问问题的方式(“编译和链接说明”)好像你不真正了解你在做什么。在你深入研究C++中的多线程之前,我建议你先退一步,然后用Visual Studio从C++开始找到初学者的书。如果你不花时间去学习基本原理,并且使用编译器是关于A的,恐怕你的进步将很小。这是最基本的


祝你好运!

xD k ty我会试试看它是如何运行的。我找不到如何下载。我能得到一些帮助吗?这个链接很好,但下载链接只是带我去看一大堆文件,我不知道下载什么或如何下载。谢谢,这解释了很多。但我还不能让它运行,所以我会看看我能从谷歌那里找到什么无论如何,我会再次尝试,看看它是如何运行的。天啊,我找不到如何下载。我能得到一些帮助吗?这个链接很好,但下载链接只是带我去看一大堆文件,我不知道下载什么或如何下载。谢谢,这解释了很多。但我还不能让它运行,所以我会看看我能从谷歌那里找到什么无论如何,TY又一次,非常尊重,不确定这两个评论是如何都是真的。你熟悉语法,但是从来没有从一个以上的对象文件中建立程序?现代C++ IDE(尤其是微软的所有“向导”)。它可以让你编写大量的代码…GUI,播放音乐,等等…而且永远不必通过链接器设置来引入第三方库。它们甚至可以将错误消息打包到待办事项列表中,这样初学者就不会意识到错误是来自“编译器”还是“链接器”.@Fork我并不反对——但我的意思是,不理解一个简单的“此文件丢失”错误就是一种迹象