English 中文(简体)
汇编者是否仍然实行控制安定(控制监禁)?
原标题:Are Fortran control characters (carriage control) still implemented in compilers?

在关于科学家和工程师的“第95/2003号”书中,有许多人谈到必须承认格式说明的第一栏是用于控制性质的。 我也看到互联网上称作运输控制的控制特征。

为避免混乱,我提及“1、空白(即......)、0和+”的特性,即当列入“未来技术倡议”声明的第一栏(character)时对产出的垂直间隔产生影响。

另见完全用固定带宽的字面书写的仅有的网页:。 (与单一航天体相比,不会产生任何精度和抗质。) 我发现,这页和其他人喜欢这样一页并不明确。

根据,关于科学家和工程师的第95/2003号批,没有回顾第1栏是用于运输管制的,可能导致 horrible 意想不到的产出。 Paraphrasing Dave Barry,类型错误,核导弹向挪威发射。

然而,当我试图坚持这一严厉的警告时,我发现,古普里没有我所说的话。

请允许我以某种实例说明我的观点。 我正试图印刷P号:

PROGRAM test_format
IMPLICIT NONE

REAL :: PI = 2 * ACOS(0.0)

WRITE (*, 100) PI
WRITE (*, 200) PI
WRITE (*, 300) PI
100 FORMAT ( 1 , "New page: ", F11.9)
200 FORMAT (   , "Single Space: ", F11.9)
300 FORMAT ( 0 , "Double Space: ", F11.9)
END PROGRAM test_format

产出如下:

1New page: 3.141592741
Single Space: 3.141592741
0Double Space: 3.141592741

“1”和“0”不是打字。 似乎宁静完全无视控制特性一栏。

我的问题是:

是否在符合标准的汇编者中仍然实施控制特性,或者只是简而言之不符合标准?

为明确起见,此处为我的<代码>g -v

Using built-in specs. Target: powerpc-apple-darwin9 Configured with: ../gcc-4.4.0/configure --prefix=/sw --prefix=/sw/lib/gcc4.4 --mandir=/sw/share/man --infodir=/sw/share/info --enable-languages=c,c++,fortran,objc,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --disable-libjava-multilib --build=powerpc-apple-darwin9 --host=powerpc-apple-darwin9 --target=powerpc-apple-darwin9 Thread model: posix gcc version 4.4.0 (GCC)

最佳回答

过去几年来,忽视第一栏的这种使用可能会给一线打印机造成坏事,如页码,但当你最后一次看到线打印机的时候? 否则,是输出装置、汇编者和本组织依赖。 大约15至20年前,“第95/2003号计划”的建议非常好。 有了终端、邮局和其他现代打印机,第一栏是特别的。 我再也不特别注意一栏,我 have忙。

2003年12月的标准将运输控制列为已删除,这是通用语言标准很少做到的。 见“第95/2003号表格”第359页或“第2003号手册”第326页。 也许选择——std=f2003或-std=f2008,加上gfortran,将保证第1栏获得的 t是使用运输控制,使“坏事”完全不可能。

问题回答

共同打印机hardware 将根据一栏的内容做特殊事情。 1. 请注意,线性打印机确实有转机的打印机头, forth有链条或桶,132只 ha,每.在缓冲内。 当游艇前的特性与缓冲区的特性相对应时,该游艇将被装满,缓冲的沥青会被bla。 当整个缓冲空隙时,打印机将装上下线。

印刷商没有运输回报、线上装或形式上装控制特征的概念。 相反,它们利用缓冲的第一份特征来表明,在印刷每一线之前,该文件应当做些什么。 某些代码将按固定数额预发文件;其他代码将在纸质读物上选择8栏,并在适当栏目中发现一个漏洞之前,将印刷纸和纸质加在一起。 传统上,纸张录音带的长度与印刷页面相同,第1栏有一处空洞;文件将按顺序排列,因此第1栏将在每页开始印刷。 我看一看一个使用双重宽度的商店,第7栏和第8栏与狂热纸的内向和外向渗透。 尼斯trick-伊问,这是多么常见。

无论如何,运输管制性质可能是一项与该语文密切相关的公约,但它们具有硬件特征,而不是一种语文。 事实上,除了大多数甚至所有商店都以这种方式设置其运输控制磁带之外,没有特别保障“1”的上页。

我认为,第95段是最后版本,以具体说明印刷产出第1栏中特性的特殊含义。

是的,批量汇编者仍然支持安放运输控制,但往往因违约而残疾。 例如,在Intel Fortran,人们需要以非标准(但得到广泛执行)的CARRIAGECONTROL=ForTRAN方案打开档案。 审视一下“gfortran”是否有类似之处。

尽管如此,我不建议采用这项公约来编码新的应用,因为它可能无法用你想要的所有产出装置。





相关问题
How do I fix this Fortran text parser for Lapack within Gem5

After about an hour, I need to ask for some help. I ve downloaded the math benchmark Lapack to run within a few CPU configurations for the simulation tool Gem5, which lets you build X86 computers and ...

gfortran, DLL, underscore

I want to access some subroutines from a third party DLL. The functions use STDCALL as the calling convention. Running dumpbin /export foo.dll gives me something like: ... 7 6 ...

Getting started with a new code in an unfamiliar language

I m starting a new project in a language I m less familiar with (FORTRAN) and am in the discovery phase. Normally reading through and figuring out code is a fairly simple task, however, this code ...

assigning values to an integer array within a Fortran module

I have a module in Fortran called QFoo. It defines a type QFooType. I want to initialize all the elements of integer array is_n to 0 and want to do it within the module. Could someone help? Thank ...

WinDbg and Intel Visual Fortran

Has anyone used WinDbg to debug an Intel Visual Fortran routine? If I have the Fortran source file that crashes with an AccViol, how can I use WinDbg to determine the line that is crashing?

converting MATLAB code to Fortran [closed]

I a medical researcher with code written in MATLAB 2009b that runs very slowly because of a self-referential loop (not sure of the programming lingo here), i.e., the results of the first iteration is ...