现在的位置: 首页 > 综合 > 正文

FORTRAN 编译 可变数组

2013年09月04日 ⁄ 综合 ⁄ 共 699字 ⁄ 字号 评论关闭

在编译FORTRAN代码时,遇到错误提示"

 

REAL(Double),  ALLOCATABLE :: aaa(:)                                

错误: Attribute at (1) is not allowed in a TYPE definition "

 

错误原因:编译器不支持allocatable

 引用网上的一句话说明问题

 

"Fortran 95的一个重要补充是ISO技术报告 TR-15581: 增强的数据类型工具,非正式名称是可分配的TR。这一标准定义了ALLOCATABLE数组的增强的应用,先于与完全的Fortran 2003兼容的Fortran编译器,以供使用。这些使用包括在过程伪参数列表中以及将函数返回值使用ALLOCATABLE数组作为派生的类型组件。(ALLOCATABLE数组比基于POINTER的数组更受欢迎,因为ALLOCATABLE数组是由Fortran 95保证的,当它们退出范围时会被自动释放掉,避免了内存溢出的可能性。另外,别名也不再是优化数组引用时的一个问题,可以使编译器生成比用指针时更快的代码。)动态内存分配通过ALLOCATABLE属性和ALLOCATE和DEALLOCATE语句

Fortran 95的第二个补充是ISO技术报告 TR-15580: 浮点异常处理,非正式名称是IEEE TR。这一标准定义了对IEEE浮点算术和浮点异常处理的支持。
"

 

原来编译采用GCC4.1.2,

第一方案:更新GCC,安装GCC4.6,依赖库太多,麻烦,(提供了C++标准扩展库的编译,方便c++编码使用)

第二方案:采用g95编译器,简单方便解决FORTRAN编译问题

 

 

抱歉!评论已关闭.