<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic External Dll in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975557#M24949</link>
    <description>hi, &lt;BR /&gt;We have a third party dll written in VC++.The arguments that a particular subroutine takes are given as word,long,integer in VC++.When we are assigning the datatypes for word as integer(2), for long as integer(4) and integer for integer in our interface ,it does not give any mismatch error,but it also does not result in correct execution. We are unsure of what the equivalent datatypes are in Visual Fortran for word,long,integer.Could you please help us. &lt;BR /&gt;-rs</description>
    <pubDate>Thu, 29 Nov 2001 02:43:18 GMT</pubDate>
    <dc:creator>Intel_C_Intel</dc:creator>
    <dc:date>2001-11-29T02:43:18Z</dc:date>
    <item>
      <title>External Dll</title>
      <link>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975557#M24949</link>
      <description>hi, &lt;BR /&gt;We have a third party dll written in VC++.The arguments that a particular subroutine takes are given as word,long,integer in VC++.When we are assigning the datatypes for word as integer(2), for long as integer(4) and integer for integer in our interface ,it does not give any mismatch error,but it also does not result in correct execution. We are unsure of what the equivalent datatypes are in Visual Fortran for word,long,integer.Could you please help us. &lt;BR /&gt;-rs</description>
      <pubDate>Thu, 29 Nov 2001 02:43:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975557#M24949</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-11-29T02:43:18Z</dc:date>
    </item>
    <item>
      <title>Re: External Dll</title>
      <link>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975558#M24950</link>
      <description>int and long are both 32 bit integers in VC++, so integer(4) should match for those. &lt;BR /&gt;If word means unsigned short, you'll have to find a workaround, since fortran does not have 'unsigned integers'.  If you've got VC++, perhaps you could write a wrapper between fortran and the dll, and handle the assignment from integer(4) &amp;lt;-&amp;gt; int &amp;lt;-&amp;gt; ushort (dll arg) from there.  Search comp.lang.fortran on Google for some more alternatives for handling unsigned data types.</description>
      <pubDate>Thu, 29 Nov 2001 08:17:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975558#M24950</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-11-29T08:17:39Z</dc:date>
    </item>
    <item>
      <title>Re: External Dll</title>
      <link>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975559#M24951</link>
      <description>You can use integer(2) as replacement for word as long as you take care you don't mess with the most significant bit which determines the sign; in other words, if your integer(2) variable is less than 32767. Even if it is, you might play with TRANSFER intrinsic (untested): &lt;BR /&gt;&lt;PRE&gt; 
integer(2):: iWord 
iWord=TRANSFER(40000_4, iWord) 
&lt;/PRE&gt; &lt;BR /&gt;should result that iWord contains identical bit-representation as C's unsigned int 40000, meaning that C would "see" it as 40000 (though you'd see it in debugger as something like -7232). &lt;BR /&gt; &lt;BR /&gt;HTH&lt;BR /&gt;Jugoslav</description>
      <pubDate>Thu, 29 Nov 2001 09:24:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/External-Dll/m-p/975559#M24951</guid>
      <dc:creator>Jugoslav_Dujic</dc:creator>
      <dc:date>2001-11-29T09:24:04Z</dc:date>
    </item>
  </channel>
</rss>

