<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.eiffelroom.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>eiffelroom - espawn - Comments</title>
 <link>http://www.eiffelroom.com/tool/espawn</link>
 <description>Comments for &quot;espawn&quot;</description>
 <language>en</language>
<item>
 <title>espawn</title>
 <link>http://www.eiffelroom.com/tool/espawn</link>
 <description>&lt;p&gt;&lt;a href=&quot;https://origo.ethz.ch/eiffelsoftware/es/trunk/Src/tools/espawn&quot;&gt;espawn&lt;/a&gt; has just been added to the &lt;a href=&quot;https://origo.ethz.ch/eiffelsoftware/es/trunk&quot;&gt;Origo&lt;/a&gt; repository.&lt;/p&gt;

&lt;p&gt;espawn is a tool used to launch one or more applications or processes in the same environment as configured by finish_freezing and like tools. The applications/processes can be launched either synchronously or asynchronously and options are provided to continue or halt on a process&#039; erroneous exit code.&lt;/p&gt;

&lt;p&gt;espawn does launch applications and processes asynchronously but is not asynchronous itself. espawn exits when &lt;strong&gt;all&lt;/strong&gt; processes have completed and not before. Users with a one single-core processor will not gain from the asynchronous behavior as they espawn caps the the number of asynchronous processes to the number of resident system processors/cores.&lt;/p&gt;


&lt;h2 id=&quot;toc0&quot;&gt;Usage Tips&lt;/h2&gt;

&lt;h3 id=&quot;toc1&quot;&gt;Asynchronous Execution&lt;/h3&gt;
 Asynchronous commands can be processed by passing multiple commands with the -async switch:&lt;p&gt;&lt;pre class=&quot;geshifilter&quot;&gt;espawn -async command_1 command_2 command_nth&lt;/pre&gt;&lt;/p&gt;


&lt;h3 id=&quot;toc2&quot;&gt;Switching to x86 Environments (x64 only)&lt;/h3&gt;
 For x64 users there is an option to launch an x86 environment for working with a 32bit environment instead of the default 64bit. This is under the condition that you have the tools installed for both x64 and x86.&lt;p&gt;To force the use of an installed 32bit environment use the &lt;em&gt;-x86&lt;/em&gt; switch. To use a manually configured environment, suppressing the auto-config use the &lt;em&gt;-manual&lt;/em&gt; switch. Note that &lt;em&gt;-manual&lt;/em&gt; overrides &lt;em&gt;-x86&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If you also happen to be inside an x86 environment (using the Visual Studio .NET Cross Tools Command Prompt or a self configured command prompt) you may switch to using the x64 by &lt;strong&gt;not&lt;/strong&gt; specifying the &lt;em&gt;-x86&lt;/em&gt; switch.&lt;/p&gt;


&lt;h3 id=&quot;toc3&quot;&gt;Manual Usage of an Environment&lt;/h3&gt;
 If you do not want espawn to automatically select the most recent C/C++ compiler environment available on your system, you can specify which environment to take. You may only uses the environments located on your system.&lt;p&gt;To list the available environments that can be use use&lt;/p&gt;

&lt;p&gt;&lt;pre class=&quot;geshifilter&quot;&gt;espawn -l&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;If you are running the x64 version of espawn you can specify the &lt;em&gt;-x86&lt;/em&gt; switch also to list the x86 applicable environments discoverable on your system. The list is formatted using&lt;/p&gt;

&lt;p&gt;&lt;pre class=&quot;geshifilter&quot;&gt;CODE: Environment Name&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;To select an environment when executing command with espawn, specify the &lt;em&gt;-use&lt;/em&gt; switch. Here is an example of using Visual Studio .NET 2003, using the x64 version of espawn:&lt;/p&gt;

&lt;p&gt;&lt;pre class=&quot;geshifilter&quot;&gt;espawn &quot;link @app.lnk&quot; -x86 -use:VS71&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For x64 users: Some environments are only available using the &lt;em&gt;-x86&lt;/em&gt; because they only provide x86 compiler tools. All versions of the Visual Studio Visual C/C++ compilers prior to Visual Studio 2005 are x86 compatible only. Failure to specify the -x86 switch will present a warning indicating the environment was not set up correct.&lt;/p&gt;

&lt;/p&gt;


&lt;h2 id=&quot;toc4&quot;&gt;Continuous Environment&lt;/h2&gt;
&lt;p&gt;If you want to continue using an automatically configured environment, as setup by espawn, there is a neat trick. Just type the following in &lt;em&gt;cmd.exe&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;pre class=&quot;geshifilter&quot;&gt;espawn cmd&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;This will enter a new cmd session with the environment established as dictated by espawn. Typing &lt;em&gt;exit&lt;/em&gt; will return you to the previous cmd shell.&lt;/p&gt;

&lt;p&gt;You can of course use all of the other options if you so wish.&lt;/p&gt;


&lt;h2 id=&quot;toc5&quot;&gt;More Info&lt;/h2&gt;
&lt;p&gt;There are more options so please use the following for more information:&lt;/p&gt;

&lt;p&gt;&lt;pre class=&quot;geshifilter&quot;&gt;espawn /?&lt;/pre&gt;&lt;/p&gt;

</description>
 <comments>http://www.eiffelroom.com/tool/espawn#comments</comments>
 <category domain="http://www.eiffelroom.com/tag/c">C</category>
 <category domain="http://www.eiffelroom.com/tag/c_0">c++</category>
 <category domain="http://www.eiffelroom.com/tag/compiler">compiler</category>
 <category domain="http://www.eiffelroom.com/tag/eiffelenvision">EiffelEnvision</category>
 <category domain="http://www.eiffelroom.com/tag/espawn">espawn</category>
 <category domain="http://www.eiffelroom.com/tag/finish_freezing">finish_freezing</category>
 <category domain="http://www.eiffelroom.com/tag/process">process</category>
 <category domain="http://www.eiffelroom.com/taxonomy/term/6">Windows</category>
 <enclosure url="http://www.eiffelroom.com/files/espawn_x64_0.zip" length="467813" type="application/zip" />
 <pubDate>Mon, 26 Feb 2007 19:23:34 -0800</pubDate>
 <dc:creator>paulbates</dc:creator>
 <guid isPermaLink="false">101 at http://www.eiffelroom.com</guid>
</item>
</channel>
</rss>
