Fortran Coder

查看: 15083|回复: 2
打印 上一主题 下一主题

[绘图界面库] quickwin 的run time error

[复制链接]
回帖奖励 5 元F 币 回复本帖可获得 5 元F 币奖励! 每人限 1 次

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
跳转到指定楼层
楼主
发表于 2021-3-31 20:50:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 望舒 于 2021-4-6 01:45 编辑

编译器:VS2013+IVF
工程类型:QUICKWIN
win10 64位系统
背景:还是之前那个超空泡的古早程序。
分别尝试了用debug 和release生成exe
release生成时不会报错,但生成的exe文件部分功能(dynamic功能)无法正常使用。
debug不断提示有语法错误,查阅后知,是源代码在子程序的字符串型虚参声明时,固定了字符串长度为50或100,而输入进来的实际的字符串远小于这个长度,解决方法是将报错的字符串类型的虚参长度全部更改为*。(这个就不贴图了)
这样debug也不会报错了,生成的exe可以正常使用,release中不能使用的功能在debug下生成的却可以正常使用了。
但是debug条件下生成的exe又出现了如下问题:

1.dynamic功能使用时,子窗口显示的数据出现了重影,部分数据根本看不清,如图1
(忽略掉力学背景,可认为此功能在数学就是进行迭代,进而给出每一步解并显示,所以出现重影是否和没有清除上一步解在屏幕上的显示有关?)

          图  1

2.在exe的设置里,选择将结果数据写入文件,会弹出错误并使得程序被迫关闭。之前只处理过编译过程中发生的错误,对这种运行时的错误并不清楚如何理解并更正。(图2-5)

    图2  在设置中选择将图片中save  result in a file的NO改 为yes


图3   程序自带的帮助说明将生成一个res文件存储结果

图4   运行时错误的清单 一

图5   运行时错误的清单 二


综上:
问题(主要是第三个问题)
一、就是为何release不报错,debug报错?(我猜测可能是release对程序进行了优化,忽略掉了字符长度不匹配的问题)
二、在debug条件下修复了所有语法错误后,release出来的exe还是不能使用部分功能,但debug的却可以。
三、在debug条件下的exe虽然能使用全部功能了,但是会遇到显示重影和程序运行时错误的问题。(如前所述)



分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
沙发
 楼主| 发表于 2021-3-31 23:44:35 | 只看该作者
事实上之所以想把结果写入res文件就是因为在显示界面上字体重叠了。
理论上解决一个问题就可以了

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
板凳
 楼主| 发表于 2021-4-6 01:44:40 | 只看该作者
本帖最后由 望舒 于 2021-4-6 22:57 编辑

好了已经解决了是编译器版本 以及系统版本不兼容的问题
下了个XP虚拟机用CVF屁问题都没有
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-24 00:06

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表