Multithreading can';我无法从编程书(c+;+;)中运行我的代码
我有一本新的编程书(cameron hughes,tracey hughes的多核编程)。 到目前为止,我还没有他们的一个程序可以运行。他们的书说它应该可以在99%的计算机上运行,所以我有点困惑,但在他们书中的每个程序的末尾,他们都有“编译和链接指令”。。。我需要输入吗?它看起来有点像“C++-o猜猜它猜猜它.cc”。我现在运行的代码是: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
#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我并不反对——但我的意思是,不理解一个简单的“此文件丢失”错误就是一种迹象