Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 调用Windows C++;来自UNIX FORTRAN控制台应用程序的DLL_C++_Unix_Dll_Fortran_Wine - Fatal编程技术网

C++ 调用Windows C++;来自UNIX FORTRAN控制台应用程序的DLL

C++ 调用Windows C++;来自UNIX FORTRAN控制台应用程序的DLL,c++,unix,dll,fortran,wine,C++,Unix,Dll,Fortran,Wine,我正在寻找一种从UNIX FORTRAN控制台应用程序调用Windows构建的x86 DLL的方法。我曾读到Winelib可能会有所帮助,但我以前从未使用过它 请问有人能给我一个好的开始吗?你可以看看 MpReal[/Cuff] >如何使用Windows DLL来解码UNIX环境中的视频。如果是C++ DLL(而不是C DLL),那么你可能是SOL。不同的C++编译器经常使用不同的名字处理机制,从一个C++编译器输出几乎总是与使用另一个C++编译器构建的库不兼容——即使在同一个平台上。(事实上,

我正在寻找一种从UNIX FORTRAN控制台应用程序调用Windows构建的x86 DLL的方法。我曾读到Winelib可能会有所帮助,但我以前从未使用过它


请问有人能给我一个好的开始吗?

你可以看看 MpReal[/Cuff] >如何使用Windows DLL来解码UNIX环境中的视频。如果是C++ DLL(而不是C DLL),那么你可能是SOL。不同的C++编译器经常使用不同的名字处理机制,从一个C++编译器输出几乎总是与使用另一个C++编译器构建的库不兼容——即使在同一个平台上。(事实上,有时使用同一编译器的不同版本构建的库将是不兼容的)所以,即使我使用了PULL编译器,它也不能成功调用C++ DLL,除非您使用同一编译器的同一版本,否则不太可能使它工作。C DLL是一种完全不同的动物,因为没有名称混乱(由于缺少功能重载)。在这种情况下,C DLL可能相对容易工作。Windows DLL的基本问题是它们不使用位置无关的代码,必须重新定位。我认为使用Windows编译器编译Fortran代码并在WINE下运行生成的PE可执行文件会更容易。控制台应用程序的仿真开销非常低(因为不需要翻译昂贵的GUI调用)。