主题:vs2005+ifort,编译时能否指定编译顺序?
cacar
[专家分:0] 发布于 2011-05-27 14:15:00
如题,如果工程中有5个源码文件,能否指定顺序,先编译谁后编译谁~~??
回复列表 (共18个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-05-27 14:25:00
没必要吧,程序会自动判断依赖关系的:)
板凳
cacar [专家分:0] 发布于 2011-05-27 14:42:00
[quote]没必要吧,程序会自动判断依赖关系的:)[/quote]
恩,是这样。现在发现不是顺序的问题,而是Debug和Release模式的问题,Release模式可以顺利build出来,但debug就会报错,似乎错误检查更严格了一些(例如某参数声明为real,但传递了0而非0.0,就会报错说类型不匹配~~)哪里可以调整呢?
3 楼
cacar [专家分:0] 发布于 2011-05-27 14:51:00
可以了,是debug和release两种模式的错误检查机制不同,在工程属性=>FORTRAN=>RUNTIME里面修改相应设置就可以了~
4 楼
yeg001 [专家分:14390] 发布于 2011-05-27 20:10:00
看了你另一个帖子, 如果楼主你连debug和release是用来做什么的都不清楚, 还是不要自作聪明去调那些设置了.
5 楼
cacar [专家分:0] 发布于 2011-05-27 21:42:00
[quote]看了你另一个帖子, 如果楼主你连debug和release是用来做什么的都不清楚, 还是不要自作聪明去调那些设置了.[/quote]
解决问题才是目的,各有所长,不要上来就摆出一副高深的姿态,除了显得自己NB一点,对解决困难完全没有帮助的~~
6 楼
yeg001 [专家分:14390] 发布于 2011-05-27 22:57:00
不是NB, 错就是错, 这个是态度. 你觉得你解决了问题就算了. 到时候得不到"物理"的结果就自己慢慢找问题吧. 我就不信之后不需要修改别人的代码!!
我只是好意提醒你这个是危险的操作, 函数不写接口就不会检查数据类型, 现在编译器帮你检查出错误来是他负责任. 用别人的老代码要么就还原别人的环境.
7 楼
asymptotic [专家分:16630] 发布于 2011-05-27 23:30:00
yeg001 您消消气吧,我上次不是也遇到一个,让他多看看书都觉得心里不舒服吗。所以,近来我少回复了,不想得罪人,对一些问题,往往一笑而过,自己想清楚得了;有时候心情好,偶尔回复一下。
8 楼
yeg001 [专家分:14390] 发布于 2011-05-28 00:08:00
是啊, 可能是我语气重了. 我出发点只是提醒那样会埋下个隐患. 楼主认为没关系就算了.
如果楼主在修改代码的时候能够足够小心也没什么. 我多虑了.
9 楼
cacar [专家分:0] 发布于 2011-05-28 00:47:00
[quote]是啊, 可能是我语气重了. 我出发点只是提醒那样会埋下个隐患. 楼主认为没关系就算了.
如果楼主在修改代码的时候能够足够小心也没什么. 我多虑了.[/quote]
cpp程序员初入fortran,不是天天搞这个的,难免有所疏漏。vs+ifort的环境,新工程默认debug和release的检查级别是不同的,漏掉这点应该也是很正常的事情....我自己发现了问题所在,并贴出了解决方法供后来人参考。
但您那个“@#¥#%……用来做什么的都不清楚, 还是不要自作聪明去调那些设置了.”是不是太武断了些呢?是一种交流的态度么?
对于提醒我完全接受,其它的不做评论。
说明一点:手头的代码是nasa发展了20 y+的计算工具,规模比较庞大,我也知道它不完美,但现阶段不可能进行大规模的翻新、规范化和测试。
对yeg001等长期混迹于pfan fortran版的同志们有些建议:
(1)不要武断的去批评别人或怀疑别人的工作态度;
(2)作为过来人,您在学习的时候一定也遇到过很多头痛的时候,这种时候更需要的是真诚的交流和指点,而非摆架子和批评~
(3)多看书是应该的,但上述编译环境的东西,如果是完全没接触过vs或ifort的人,书翻破也很难找到解决方法的,这种时候需要的就是大家的经验和建议~而不是类似“……用来做什么的都不清楚, 还是不要自作聪明去调那些设置了”
pfan是个好坛子,也关注很多年了,只是以前很少来fortran版。共同进步需要大家一起营造一个良好的交流环境,摆谱和装_是解决不了任何问题的。
只是发了个帖子,描述了个问题,突然又找到原因所在,贴了解决方案。却被一通鄙视~哎,放谁都会稍稍不爽吧~
觉得上述言论有错可以批评,版主认为不和谐欢迎删帖。这么多年看过了很多人的这种态度,有感而发~~请大家拍砖。
10 楼
臭石头雪球 [专家分:23030] 发布于 2011-05-28 07:55:00
我想他的意思是,出现 Debug 和 Release 结果不一样,多半是因为程序中存在隐含的错误。
如果你修改了 DEBUG 的设置而解决问题,事实上你差不多把 Debug 变成 release 了,其实问题还隐含着,只是你逃避了。
这无异于掩耳盗铃。
我来回复