如果我添加C:\Program Files (x86)\WinMerge
到User PATH
变量(通过右键单击计算机 - >高级系统设置 - >环境变量),一旦我打开一个新的cmd shell,WinmergeU.exe就无法识别.如果我将该路径添加到System PATH
变量,则会正确识别WinmergeU.exe.我虽然用户和系统之间没有区别,但是如果我在系统上设置它,所有用户都会看到它,而用户PATH
是本地的.难道我做错了什么?
编辑1:
在下面您可以先看到C:\Program Files (x86)\WinMerge
添加到System PATH
变量(但不是用户)的情况,然后将其添加到User PATH
变量(但不添加到System).在第一种情况下,Winmerge窗口正确启动(未显示),您可以看到路径由echo%PATH%命令显示.在第二种情况下,它不会启动,并且回路%PATH%不显示路径.(注意我在确认之前已经清楚地确认并在拍摄这些截图之前关闭了环境变量窗口,并且在更改PATH并按下确定之后我立即打开了一个新的cmd).这个问题可能与我的问题有关(echo%PATH%只扩展到系统还是扩展到用户变量?)但是因为它可能不是我发布了两个不同的问题.
我试图将Fortran子例程中的本地逻辑数组初始化为false,但是我收到错误:
错误#6562:数据initialization-expr对此对象无效.
这里是我的报关表:
integer , intent(in) :: nLOW
integer , intent(in) :: nUP
logical , dimension(nLOW:nUP) :: leastSQUARE = .false.
Run Code Online (Sandbox Code Playgroud)
如果我使用,我会得到同样的错误:
integer :: I
integer , intent(in) :: nLOW
integer , intent(in) :: nUP
logical , dimension(nLOW:nUP) :: leastSQUARE = (/ (.false., I = nLOW:nUP) /)
Run Code Online (Sandbox Code Playgroud)
如果我写:
integer , intent(in) :: nLOW
integer , intent(in) :: nUP
logical , dimension(1:100) :: leastSQUARE = .false.
Run Code Online (Sandbox Code Playgroud)
子程序编译为零错误.知道为什么会这样吗?我显然需要leastSQUARE
尺寸nLOW:nUP
,所以后者不是一种解决方法.
我真的需要弄清楚我的Fortran项目何时读取向量的元素.我每天都使用数据断点,但是当我的代码访问(即读取)内存地址时,我找不到设置数据断点的方法,而我总是将其设置为在修改地址时断开.有没有办法在Visual Studio 2010上执行此操作?(我使用intel visual fortran撰写XE 2011作为编译器).或者更新到更新的视觉工作室?就像一个注释,我在这里看到gdb这样做我可以在GDB中的'内存访问'上设置一个断点吗? 谢谢.
Ps:我从GDB发送电子邮件,他们说不可能用它来做.请看下面的答案:
您好,目前创建的观察点类型是硬编码为"写入".这是因为Visual Studio不支持其他类型的观察点(在GUI和基础结构中).也许有可能在GDB控制台中启用读取观察点,但是它也需要一个黑客,因为控制台实际上"通过"Visual Studio工作(它不直接将命令传递给GDB).我也不确定这个功能是否真的适用于GDB.GDB有很多命令,它们的目标范围非常有限,例如它们只适用于单线程程序,或者仅适用于Linux而不适用于使用gdbserver等.读取观察点看起来像是一种非常依赖于平台的机制.请检查您的平台GDB是否支持读取观察点.如果此功能对您至关重要,请告诉我们.
最好的祝福
我试着写一个简单的平面方程加上系数\ bar {a} _1,a_2和a_3的值,但我无法使\ bar工作.有什么建议吗?我尝试$\bar {a} _ {1} $有或没有美元,其他一切对我来说都很好,我使用了乳胶或tex解释器,但它无法识别它.这是代码:
a1=1
a2=2
a3=3
str = {'LLSQ fit:','z=$\bar{a}_{1}$+a_2x+a_3y',sprintf('$\bar{a}_{1}$=%5.2f',a1),sprintf('a_2=%5.2f',a2),sprintf('a_3=%5.2f',a3)};
annH = annotation('textbox',[0.63 0.8 0.08 0.08],'string',str,'interpreter','latex')
set(annH,'FitBoxToText','on','fontsize', 18,'BackgroundColor',[1 1 1])
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在处理结构化网格.我只想在图中添加一个类型(m,n)的文本,指示每个节点的索引.也许在未来变量的价值.我使用文本功能.我分析了代码,大部分时间花在了这个函数上.它只是一个101*101网格,如果你增加它,代码基本上卡住了.我已经优化了它,避免了文本和spritnf的循环,但它仍然太慢.此外,一旦创建了绘图,它就会非常卡住,每次平移或缩放都需要几秒钟.请参阅以下最小示例.我还添加了用于显示网格的补丁.(我使用补丁,因为我想为每个单元格绘制一些网格数量,我想保持它一般,以防我移动到具有不规则多边形的非结构化网格.补丁是超快的,但没有问题).有什么建议加快这个吗?谢谢
%define grid and grid numbering
DX = 10 ; %=DY
mmax = 101; %= number of nodes in x
nmax = mmax %= number of nodes in y
[ x y ] = meshgrid(0:DX:DX*(mmax-1),0:DX:DX*(mmax-1)); %grid
[ mMAT nMAT ] = meshgrid(1:mmax,1:nmax); %grid numbering
%
%display patch
%
cont = 0
for m=2:mmax
for n=2:nmax
cont=cont+1;
Xpatch(1:4,cont) = [ x(n-1,m-1) ; x(n-1,m) ; x(n,m) ; x(n,m-1) ] ;% ii+1 since it has the BC
Ypatch(1:4,cont) = [ y(n-1,m-1) ; y(n-1,m) …
Run Code Online (Sandbox Code Playgroud) 我想破译一个fortran代码.它将指向函数的指针作为实际参数传递,而形式参数则是目标.它在主程序中定义并分配类型为globalDATA的指针,然后调用传递该指针的函数:
module dataGLOBAL
type globalDATA
type (gl_1) , pointer :: gl1
type (gd_2) , pointer :: gd2
type (gdt_ok) , pointer :: gdtok
...
...
end type globalDATA
end module dataGLOBAL
Program main
....
....
use dataGLOBAL
...
type(globalDATA),pointer :: GD
allocate(GD)
returnvalue = INIT(GD)
....
....
end
Run Code Online (Sandbox Code Playgroud)
功能如下:
integer function INIT(GD) result(returnvalue)
....
....
use dataGLOBAL
type(globalDATA) , target :: GD
allocate (GD%gl1)
allocate (GD%gd2)
allocate (GD%gdtok)
....
....
end function INIT
Run Code Online (Sandbox Code Playgroud)
这样做是什么意思?为什么必须分配主程序中的指针和目标结构的单个组件?谢谢.
我正在我的 3D 绘图的注释中编写平面方程。我不需要盒子,但由于我找到的唯一选项有盒子,是否可以删除它?
str = {'z=a+bx+cy','a=0.2','b=1.2','c=0.3'};
annH = annotation('textbox',[0.8 0.9 0.08 0.08],'string',str)
Run Code Online (Sandbox Code Playgroud)
我试图用 set(annH) 获取 annH 的属性列表,但我没有看到任何像“box”、“off”或类似的东西。谢谢。
我对数值模型进行编程,以串行和并行方式(使用 MPI)在 Fortran 中求解偏微分方程。只有 Fortran,我不知道/不需要其他语言。我发现在使用 Parallel Studio XE 2019 之前,我现在需要迁移到 Intel OneAPI。迁移到 OneAPI 后,Fortran 普通用户会享受到什么优势/新功能吗?我从未使用过 GPU,如果将来我想学习如何并行化代码并在 GPU 上运行它,OneAPI 会让转换变得更容易吗?
当将 exe 复制到另一台计算机(具有 2022 Intel 处理器)时,在一台 Windows 计算机中使用 Visual Studio 2019 在 2018 Intel 处理器上编译的 Fortran 代码是否可能会产生稍微不同的结果?您能否列出导致此行为的可能原因?
这应该很简单,但我用谷歌搜索,但找不到任何信息。在Visual Studio中调试时,如何移动到指向下一条要执行的语句的箭头位置?我搬来搬去,现在找不到了。应该有一个简单的方法。谢谢。
在这里最佳答案的最高投票评论(如何在批处理文件中持久设置Windows 7中的变量?),提到%PATH%扩展到系统加上用户变量.真的吗?在我的笔记本电脑中,如果我打开cmd和我数字
echo %PATH%
Run Code Online (Sandbox Code Playgroud)
我只看到系统变量.任何人都可以澄清这一点吗?
欢呼A.
fortran ×4
matlab ×3
windows ×2
breakpoints ×1
debugging ×1
fast-math ×1
function ×1
intel ×1
intel-oneapi ×1
latex ×1
mpi ×1
optimization ×1
path ×1
pointers ×1
winmerge ×1