主题:vs2005+ifort,编译时能否指定编译顺序?
cacar
[专家分:0] 发布于 2011-05-27 14:15:00
如题,如果工程中有5个源码文件,能否指定顺序,先编译谁后编译谁~~??
回复列表 (共18个回复)
11 楼
asymptotic [专家分:16630] 发布于 2011-05-28 08:11:00
哈哈,为了“和谐”起见, 臭石头雪球 网友您应该将敏感词 逃避、掩耳盗铃 “和谐”掉,这样大家皆大欢喜。 我这是纯粹灌水!
12 楼
dongyuanxun [专家分:7180] 发布于 2011-05-28 08:38:00
[quote]可以了,是debug和release两种模式的错误检查机制不同,在工程属性=>FORTRAN=>RUNTIME里面修改相应设置就可以了~[/quote]
不知道你在runtime里更改了什么,按照你说的症状,修改runtime应该没啥意义,而且能把其他隐含的问题全都抛弃了。
这个问题是由于intel的诊断开关造成的,看看Diagnostics-Check Routine Interfaces,把这项改为no,能避免一群遗留老代码的编译问题,而且最大限度的保留了其他debug选项。但只推荐针对已经经过工作考验的老代码临时这样修改,其他情形还是很危险的。
13 楼
cacar [专家分:0] 发布于 2011-05-28 10:01:00
[quote][quote]可以了,是debug和release两种模式的错误检查机制不同,在工程属性=>FORTRAN=>RUNTIME里面修改相应设置就可以了~[/quote]
不知道你在runtime里更改了什么,按照你说的症状,修改runtime应该没啥意义,而且能把其他隐含的问题全都抛弃了。
这个问题是由于intel的诊断开关造成的,看看Diagnostics-Check Routine Interfaces,把这项改为no,能避免一群遗留老代码的编译问题,而且最大限度的保留了其他debug选项。但只推荐针对已经经过工作考验的老代码临时这样修改,其他情形还是很危险的。
[/quote]
runtime中有一项check array and string bounds,关掉就可以了(新建工程的debug和release在这里有差异~)。当然还有一些其它的类似选项,关掉总是不好,但手头的东西的确是“经过考验的老代码”,重写和重新测试现阶段是不可能的。
谢谢大家的提醒,希望相关讨论能帮到遇到类似问题的朋友。
14 楼
cacar [专家分:0] 发布于 2011-05-28 10:02:00
[quote]我想他的意思是,出现 Debug 和 Release 结果不一样,多半是因为程序中存在隐含的错误。
如果你修改了 DEBUG 的设置而解决问题,事实上你差不多把 Debug 变成 release 了,其实问题还隐含着,只是你逃避了。
这无异于掩耳盗铃。[/quote]
当然不能全改了,具体问题具体分析么~离“变成release”还是差很多的,呵呵~
15 楼
yeg001 [专家分:14390] 发布于 2011-05-28 10:37:00
20y+ 的老程序有这样的问题确实不奇怪.
正如上面几位讲, 只是为了回避错误完全可以用release. 而你执着使用debug很可能是需要修改代码, 甚至是修改一些子函数子过程, 我觉得这时候应该慎重. 从交流的角度讲, 你给的信息中我只看出了你不想编译器检查参数传递的类型, 给我的印象只是为了自己方便, 我也只能凭借这些做判断. 可以理解找到个办法正高兴的时候被泼凉水的感觉, 如果你对我的语气有意见, 我在这里表示抱歉.
至于是不是摆pose,装什么的. 是个人的表达风格问题, 在这个论坛里面我不懂的基本就不回帖, 有些实在帮顶一下的也就给个自己的意见, 别人怎么解释我没办法. 这个帖子在我看来错的就是错的,首先要承认,这是态度问题. 至于是自己编的程,还是接师兄的老程序,亦或使用一个几十年前的旧代码,那是另一回事.
p.s. 论坛的版主基本不出现, 只是偶尔删删广告.
16 楼
cacar [专家分:0] 发布于 2011-05-28 11:13:00
[quote]20y+ 的老程序有这样的问题确实不奇怪.
正如上面几位讲, 只是为了回避错误完全可以用release. 而你执着使用debug很可能是需要修改代码, 甚至是修改一些子函数子过程, 我觉得这时候应该慎重. 从交流的角度讲, 你给的信息中我只看出了你不想编译器检查参数传递的类型, 给我的印象只是为了自己方便, 我也只能凭借这些做判断. 可以理解找到个办法正高兴的时候被泼凉水的感觉, 如果你对我的语气有意见, 我在这里表示抱歉.
至于是不是摆pose,装什么的. 是个人的表达风格问题, 在这个论坛里面我不懂的基本就不回帖, 有些实在帮顶一下的也就给个自己的意见, 别人怎么解释我没办法. 这个帖子在我看来错的就是错的,首先要承认,这是态度问题. 至于是自己编的程,还是接师兄的老程序,亦或使用一个几十年前的旧代码,那是另一回事.
p.s. 论坛的版主基本不出现, 只是偶尔删删广告.[/quote]
态度很重要,这个我也不能否认。老代码的确有错,但采取修改编译配置这样的策略,是因为现在不具备对它进行大规模的翻新和测试的条件,并不是我的态度不端~
您的提醒很好,无偿提供帮助也是一件很难能可贵的事情,但方式上如果不合适的话,很可能造成一些不必要的误会和不愉快,诸如“@¥%……就不要搞了”的字眼,不会有利于帮助的目的。
版主虽然不来,但还是希望热爱这个坛子的朋友共同营造一个良好的交流气氛~通过无私的分享和帮助,来减少彼此的障碍,共同进步~
17 楼
cgl_lgs [专家分:21040] 发布于 2011-05-29 00:03:00
楼主常来吧,这样就会习惯各位的用语习惯了:)pfan的fortran讨论气氛还是相当不错的:)
18 楼
aliouying [专家分:1150] 发布于 2011-05-31 14:37:00
交流需要和气,和气生财!
我来回复