草庐IT

fortran90

全部标签

c++ - 使用 GDI 将文本旋转 90 度

我想在GDISurface上绘制文本并将该文本逆时针旋转90度。我更愿意使用DrawText来绘制文本,因为它支持回车。我尝试使用带有lfEscapement的字体(请参阅下面的代码),但该行未旋转-一条线呈现在另一条线上。有没有可能旋转文本?还是在不旋转的情况下渲染并旋转整个设备上下文?普通文本布局:旋转(期望的结果):caseWM_PAINT:{hdc=BeginPaint(hWnd,&ps);LOGFONTlf={0};HANDLEhFont;ZeroMemory(&lf,sizeof(LOGFONT));lf.lfWeight=FW_NORMAL;lstrcpy(lf.lfFa

java - 使用 JNI 从 java 调用 fortran dll

我有一个Fortran格式的Fifp.dll,带有一个简单的voidRESET()函数,并尝试从我的Java代码中调用它。我做了一个简单的java测试类:publicclassTestJni{static{System.loadLibrary("Fifp");}publicnativevoidRESET();}我从中制作了一个.h文件,并编译了它。我还制作了一个桥接文件myBridge.c:#include#include"TestJni.h"externvoidRESET();JNIEXPORTvoidJNICALLJava_TestJni_RESET(JNIEnv*env,jobj

windows - excel/fortran dll 连接中的文件位置问题

平台:WinXPSP2、IntelFortran11、Excel2007我在将dll文件与excel连接时遇到问题。dll文件比较简单:subroutineFortranCall(r1,num)!DEC$ATTRIBUTESDLLEXPORT,STDCALL,REFERENCE,ALIAS:"FortranCall"::FortranCallinteger,intent(in)::r1character(10),intent(out)::num!DEC$ATTRIBUTESREFERENCE::numnum=''write(num,'(i0)')r1*2returnendsubrout

c++ - 从 Windows 二进制文件中删除 msvcp90d.dll 依赖项

我有一个我分发的dll,它不能在某些Windows操作系统上运行。使用dependancywalker我发现这些系统上缺少msvcp90d.dll。我不想要任何需要C++可再发行组件的运行时依赖项,并且由于调用DLL的应用程序不是用C++编写的,因此它对C++可再发行组件没有任何依赖性。我猜我在编译dll时在链接器首选项中留下了DEBUG选项,这就是它需要msvcp90d.dll的原因?添加:抱歉,我在原来的问题中粘贴了错误的dll名称……在显示器前的时间太长了……这个dll是我在VS2008编译的第三方dll,不是我写的。 最佳答案

c++ - 在运行时在 v110 可执行文件中使用 v90 COM dll 是否安全?

在使用v110编译器构建的可执行文件中使用使用v90编译器构建的COMdll是否安全?可执行文件在运行时通过COM接口(interface)使用v90dll(它不是#imported)。可执行文件是根据dll的tlb构建的。两者都静态链接到MFC,并且都使用/MT版本的运行时库。我的理解是这是可能的,但并不安全。由于存在使用注意事项(即内存分配不同,因此不能在dll中分配对象并在可执行文件中删除对象,因为这会导致意外行为)。有人可以为我澄清一下吗? 最佳答案 是的,它是安全的。前提是您遵守COM规则。COM规则是ABI1规则,包括与

windows - Fortran 中的清屏

我为此找了很长时间。有谁知道如何在Fortran语言的控制台应用程序中清除屏幕?非常感谢任何帮助! 最佳答案 Fortran,quaFortran对屏幕或键盘或计算机等概念一无所知。因此,不存在从Fortran中清除屏幕的语言标准方法。您将不得不找到一些依赖于平台的方法。大多数Fortran编译器都有一些方法可以做到这一点,例如IntelFortran提供了SYSTEM函数。 关于windows-Fortran中的清屏,我们在StackOverflow上找到一个类似的问题:

windows - 在 linux 和 windows 中用 fortran 循环的最大元素

这个问题在这里已经有了答案:WhySegmentationfaultishappeninginthisopenmpcode?(2个答案)关闭2个月前。我正在编写一些并行的Fortran90/95代码,但我遇到了一些我无法理解的事情。我在配备6GoRAM的东芝笔记本电脑上工作。在Windows10中,我使用code::blocks。我从MinGW导入了gfortran作为编译器,并使用-fopenmp标志编译我的代码。我在VirtualBox中安装了Ubuntu18.04。我让它使用我一半的ram,即3Go。我也使用gfortran-fopenmp在这个代码上编译我的代码。遇到的导致问题

windows - 用本地配置文件替换 Microsoft.VC90.CRT WinSxS 策略文件

在WindowsXP上,我有一个以msvcp90.dll运行的.exe,msvcr90.dll,和Microsoft.VC90.CRT.manifest在我的本地应用程序目录中。我在C:\WINDOWS\WinSxS\Policies中也有这些.dll的策略文件,由VisualC++2008SP1RedistributablePackage安装.我想删除此策略文件并改用本地目录中的应用程序配置文件。策略文件是:我的配置文件是:DependencyWalker在使用配置文件而不是策略文件时同时报告错误-有什么问题吗?另外,配置文件应该命名为.exe.config吗?,或Microsoft

windows - 使用批处理或 powershell 移动一组目录中超过 90 天的文件,其中目录名称包含某些文本

我有一个服务器,其中有数百个子目录,其中可能包含超过90天的扩展名为.flv的文件。我需要找到这些文件,但只能在名称中包含“ProdStream”一词的文件夹中找到。这样做的目的是将文件存档到AWS(我有一个用于此的工作脚本),并将文件的原始路径保存在日志中。我可以使用forfiles找到所有子文件夹中的文件:forfiles/P"SRC_PATH"/S/M*.flv/D-90/C"cmd/Cmove@file"DEST_PATH""但是,forfiles不允许我将文件夹名称用作变量。至少不是我尝试过的。所以我尝试使用for命令。setstream=SRC_PATHFOR/D/R%st

windows - LOC 和 %LOC 在 Windows 的子程序中不起作用

我有一个Fortran90项目,它广泛使用loc函数来获取数组的地址(与Matlab互操作的API的一部分)。这段代码在Mac和Linux上编译并运行在Intel和gfortran上,并且已经有一段时间了(跨几个不同的编译器版本)。我现在正尝试使用来自ComposerXE2015的IntelFortran在Windows上进行构建。当我逐步使用调试器时,我发现主函数中的LOC调用正确返回了地址,但从中调用的子例程中的调用似乎什么也不做-它只返回数据的值而不是位置。有谁知道为什么LOC不起作用?我尝试同时使用loc()和%LOC()并获得相同的行为。有关示例,请参见thisfunctio