<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fortran-DLL unter VisualStudio aus C ansprechen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe Fortran-Quellen, die ich aus C heraus ansprechen möchte. Habe die Quellen erfolgreich kompiliert.</p>
<pre><code class="language-cpp">!DEC$ ATTRIBUTES DLLEXPORT :: START
SUBROUTINE START()
INTEGER J,M,N,MAXFEV,MODE,NPRINT,INFO,NFEV,LDFJAC,NWRITE
INTEGER IPVT(3)
...
</code></pre>
<p>Ein bindump liefert</p>
<pre><code class="language-cpp">File Type: DLL

  Section contains the following exports for lmdif.dll

           0 characteristics
    4450BF73 time date stamp Thu Apr 27 14:56:19 2006
        0.00 version
           1 ordinal base
           2 number of functions
           2 number of names

    ordinal hint RVA      name

          1    0 00007E38 START
          2    1 00007E38 _START@0

  Summary

        1000 .data
</code></pre>
<p>Weiterhin habe ich eine Header-Datei geschrieben, um die externe Funktion START ansprechen zu können:</p>
<pre><code class="language-cpp">extern &quot;C&quot; void START(void);
</code></pre>
<p>Dummerweise klappt das so nicht:</p>
<pre><code class="language-cpp">lmdif_test.obj : error LNK2001: Nichtaufgeloestes externes Symbol _START
Debug/lmdif_test.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
</code></pre>
<p>Ich habe schon mit underscores herumgespielt und die !DEC$ ATTRIBUTES DLLEXPORT :: START am Anfang eingefügt, aber irgendwie klappt das nicht.</p>
<p>Hat wer ein Kochrezept für solche Fälle?</p>
<p>Gruß,</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145384/fortran-dll-unter-visualstudio-aus-c-ansprechen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 00:11:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145384.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Apr 2006 13:10:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fortran-DLL unter VisualStudio aus C ansprechen on Thu, 27 Apr 2006 13:10:55 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe Fortran-Quellen, die ich aus C heraus ansprechen möchte. Habe die Quellen erfolgreich kompiliert.</p>
<pre><code class="language-cpp">!DEC$ ATTRIBUTES DLLEXPORT :: START
SUBROUTINE START()
INTEGER J,M,N,MAXFEV,MODE,NPRINT,INFO,NFEV,LDFJAC,NWRITE
INTEGER IPVT(3)
...
</code></pre>
<p>Ein bindump liefert</p>
<pre><code class="language-cpp">File Type: DLL

  Section contains the following exports for lmdif.dll

           0 characteristics
    4450BF73 time date stamp Thu Apr 27 14:56:19 2006
        0.00 version
           1 ordinal base
           2 number of functions
           2 number of names

    ordinal hint RVA      name

          1    0 00007E38 START
          2    1 00007E38 _START@0

  Summary

        1000 .data
</code></pre>
<p>Weiterhin habe ich eine Header-Datei geschrieben, um die externe Funktion START ansprechen zu können:</p>
<pre><code class="language-cpp">extern &quot;C&quot; void START(void);
</code></pre>
<p>Dummerweise klappt das so nicht:</p>
<pre><code class="language-cpp">lmdif_test.obj : error LNK2001: Nichtaufgeloestes externes Symbol _START
Debug/lmdif_test.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
</code></pre>
<p>Ich habe schon mit underscores herumgespielt und die !DEC$ ATTRIBUTES DLLEXPORT :: START am Anfang eingefügt, aber irgendwie klappt das nicht.</p>
<p>Hat wer ein Kochrezept für solche Fälle?</p>
<p>Gruß,</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046361</guid><dc:creator><![CDATA[tronaccount]]></dc:creator><pubDate>Thu, 27 Apr 2006 13:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fortran-DLL unter VisualStudio aus C ansprechen on Thu, 27 Apr 2006 13:25:11 GMT]]></title><description><![CDATA[<p>Wenn Du keine Import-LIB hast, dann musst Du die Funktion via LoadLibrary und GetProcAddress einbinden... sowas in der Form:</p>
<pre><code class="language-cpp">typedef void (__stdcall *PFunc) ();
PFunc pFunc = NULL;

HMODULE hMod = LoadLibrary(_T(&quot;my.dll&quot;));
pFunc = (PFunc) GetProcAddress(hMod, &quot;Func&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1046374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046374</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 27 Apr 2006 13:25:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fortran-DLL unter VisualStudio aus C ansprechen on Thu, 27 Apr 2006 13:32:31 GMT]]></title><description><![CDATA[<p>Ich arbeite unter einfachem C. Da müße es doch reichen, den Header einzubinden und die dll zu linken, oder?</p>
<p>Der Aufruf</p>
<pre><code class="language-cpp">main()
{
START();
}
</code></pre>
<p>sollte doch zum Aufruf der dll führen... hoffe ich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046380</guid><dc:creator><![CDATA[tronaccount]]></dc:creator><pubDate>Thu, 27 Apr 2006 13:32:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fortran-DLL unter VisualStudio aus C ansprechen on Thu, 27 Apr 2006 13:33:19 GMT]]></title><description><![CDATA[<p>Wie willst Du eine DLL &quot;linken&quot;, wenn Du keine LIB-Datei dazu hast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046381</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 27 Apr 2006 13:33:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fortran-DLL unter VisualStudio aus C ansprechen on Thu, 27 Apr 2006 14:07:37 GMT]]></title><description><![CDATA[<p>Ähhh- habe mich grad mal schlau gemacht. Hast natürlich völlig recht. Für Dummies wie mich: &quot;Projekteinstellungen -&gt; Linker -&gt; lmdif.lib einbinden.</p>
<p>Herzlichen Dank - wieder was gelernt...</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046404</guid><dc:creator><![CDATA[tronaccount]]></dc:creator><pubDate>Thu, 27 Apr 2006 14:07:37 GMT</pubDate></item></channel></rss>