设有关系模式RZ=max(X,Y),Z)与它的函数依赖集F={X→Y,Y→Z},则F的闭包F+中左部为XY的函数依赖有多少个

0

0

∈ ? ∩ ∪ ? ? ? ?

0

0 0 0 0

本章详细说明 f95 编译器的命令行选項

  • 从开始是对用于编译器选项标志的语法的描述。

  • 从开始是按功能排列的选项的摘要

  • 从开始是详细说明每个编译器选项标志的完整参栲。

编译器命令行的通用语法如下:



      

方括号内的项指示可选参数方括号不是命令的一部分。options 是前面带有短划线 () 的选项关键字列表一些关键字选项将列表中的下一项作为参数。list_of_files 是由空格分隔的源文件名、目标文件名或库文件名的列表此外,有一些选项(例如-B-l-L)必须出现在源文件列表之后,而且这些选项可以包括其他文件列表

典型的编译器选项格式为:

在说明各个选项时使用以下印刷约定:

表 3–2 选项的印刷表示法

方括号包含的参数是可选的。 

花括号(大括号)包含必需选项的一组选择 

"|" 或 "-" 符号用于分隔多个参数,只能选择其中┅个参数

冒号与逗号类似,有时用于分隔多个参数 

省略号表示一系列省略。 

括号、管道符和省略号是在选项描述中使用的元字符它們不是选项本身的一部分。

选项的一些常规准则如下:

  • –lx 是用于与库 libx.a 链接的选项将 -lx 放在文件名列表之后以确保搜索顺序库,始终是较为咹全之举

  • 通常,按从左向右的顺序处理编译器选项允许选择性地覆盖宏选项(包括其他选项的选项)。此规则不适用于链接程序选项但是,当某些选项(例如 -I-L-R)在同一命令行上重复出现时这些选项将累加值,而不是覆盖前面的值

  • 在可选选项列表(例如 -xhasc[={yes|no}])中,所列的第一个选项是出现在命令行上的选项标志不带值时所假定的值例如,-xhasc

  • 源文件、目标文件和库按它们在命令行上出现的顺序编译並链接

在本节中,为了便于参考将按功能对编译器选项进行分组。有关详细信息请参见以下几节中相应页面上的内容。

请注意并非所有选项在 SPARC 和 x64/x86 平台上都可用。有关可用性的说明请查看详细的参考部分。

下表按功能汇总 f95 编译器选项该表不包括已过时的和传统的選项标志。某些标志用于多个目的因此出现多次。

表 3–3 按功能分组的编译器选项

仅编译;不生成可执行文件 

显示由驱动程序生成的命令但不进行编译 

保留在编译期间所创建的临时文件。 

指定要将已编译的 .mod 模块文件写入的路径

指定要编写的目标文件、库文件或可执行文件嘚名称 

进行编译并只生成汇编代码 

将符号表与可执行文件分离 

禁止编译器消息(错误消息除外) 

定义临时文件所在目录的路径 

显示每个编譯阶段占用的时间 

显示编译器的版本号及其阶段 

指定非标准别名情况 

使用多个处理器进行编译 

对于外部名称增加/删除尾随下划线 

内联指萣的用户函数 

与编译位置无关的代码 

内联某些数学库例程 

指定代码地址空间 

启用预取指令。 

指定可选寄存器的使用 

指定缺省数据映射 

强制對齐 COMMON 块数据以允许双字获取/存储 

强制所有数据按 8 字节边界对齐 

指定内存对齐和行为 

启用运行时下标范围检查 

为使用 dbx 调试而进行编译

标志未聲明变量的使用 

检查在运行时栈是否溢出 

启用运行时任务普通检查 

为性能分析器进行编译 

生成交叉引用列表 

在没有目标文件的情况下启用調试 

标志非标准扩展名的使用 

禁止显示指定的警告消息 

与错误消息一起显示错误标记名称 

显示编译器选项的摘要 

显示编译器的版本号及其階段 

冗余的并行化消息 

显示/禁止警告消息 

显示编译器自述文件 

显示许可证服务器信息 

允许/要求动态/静态库 

只允许动态/静态库链接 

生成动态(共享对象)库 

为动态库指定名称 

将目录增加到库搜索路径 

不将库搜索路径生成到可执行文件中 

将运行时库搜索路径生成到可执行文件Φ 

禁用递增链接程序 ild

与优化的数学库链接 

链接编辑器选项 

在不重定位的情况下生成纯库 

使用非标准浮点首选项 

选择非标准浮点 

启用输入过程中的运行时浮点溢出 

选择浮点优化级别 

选择浮点捕获模式 

指定用于格式化输入/输出的舍入方法 

将单精度常数提升为双精度常量 

启用区间運算并设置相应的浮点环境(包括 -xinterval

启用区间运算扩展 

分析循环以了解数据依赖性 

使用所选的选项进行优化 

填充数据布局以便高效使用高速缓存 

在内存栈上分配局部变量 

启用跨源文件的优化 

调用过程间优化传递 

针对编译后优化进行编译 

启用/调整编译器生成的预取指令 

控制预取指令的自动生成 

启用性能分析数据的生成或使用 

断言不会出现基于内存的陷阱 

不执行增加代码大小的优化 

自动生成对向量库函数的调用 

顯示循环的并行化信息 

为手动编码的多线程编程进行编译 

识别具有自动并行化的循环中的约简操作 

冗余的并行化消息 

定义预处理程序符号 

未定义预处理程序符号 

接受扩展(132 个字符)源行 

将预处理程序应用于 .F 和/或 .F90.F95 文件,但不进行编译

使用 fpp 预处理程序对所有源文件进行预处理

將目录添加到模块搜索路径 

在实际参数中将霍尔瑞斯常数视为字符 

选择要使用的预处理程序(cppfpp

允许递归子程序调用 

为优化器指定目标岼台指令集 

为优化器指定目标高速缓存属性 

为优化器指定目标处理器 

为优化器指定目标平台 

编译器有许多可通过可选命令行参数选择的功能下面的简要列表列出了一些常用选项,让您一睹为快

调试-在例程之间进行全局程序检查以确保参数、通用块等的一致性。 

调试-苼成其他用于启用 dbx 和调试的符号表信息

性能-调用优化器以生成运行速度更快的程序。 

性能-使用一组预先确定的选项为本机平台生荿高效的编译时和运行时。 

仅编译-禁止链接;为每个源文件生成一个 .o 文件

输出文件-将可执行输出文件命名为 nm 而不是 a.out

某些选项标志昰可扩展为由其他标志组成的特定集合的宏之所以提供这些选项标志,是为了便于指定通常一起用来选择某项功能的多个选项

有关完整的当前扩展,请参见 —fast 说明

命令行上跟在宏标志后面的设置将覆盖或增加宏扩展。

3.3.3 向后兼容性和传统选项

提供以下选项的目的是为了與早期发行版的编译器和某些 Fortran 传统功能实现向后兼容

通过 ENTRY 语句保留实际参数。

允许为常量参数赋值 

在调用参数列表中将霍尔瑞斯常数視为字符或无类型。 

非标准运算—允许非标准运算 

为主机系统优化性能。 

DO 循环—使用单程 DO 循环

允许存在传统的别名情况 

建议在生成可迻植的 Fortran 程序时不要使用这些选项标志。

3.3.4 已过时的选项标志

下面的选项被认为是已过时的不应使用它们。在编译器的以后发行版本中可能會删除这些选项

许可证排队。不再需要 

分析。使用 -pg 或性能分析器

本节介绍所有 f95 编译器命令行选项标志包括各种风险、限制、警告、茭互、示例和其他详细信息。

除非另行指明否则每个选项在 SPARC 和 x64/x86 平台上都有效。仅在 SPARC 平台上有效的选项标志标有 (SPARC)仅在 x64/x86 平台上有效的选项標志标有 (x86)

标有已过时的选项标志已过时不应使用。在许多情况下它们已经被其他应该使用的选项或标志取代。

指定通用块和标准数字序列类型中数据的对齐

此值表示通用块和标准数值序列类型中数据元素的最大对齐(以字节为单位)。


标准数值序列类型是包含 SEQUENCE size)的派生类型任何其他类型(如 REAL*8)将使类型成为非标准类型。


例如-aligncommon=4 会将自然对齐方式为 4 字节或大于 4 字节的数据元素与 4 字节边界对齐。

該选项不影响自然对齐方式小于指定大小的数据

如果不使用 -aligncommon,则编译器会将通用块和数值序列类型中的元素与(最多)4 字节边界对齐

洳果指定不带值的 -aligncommon,则缺省值为 1-所有的通用块和数值序列类型元素都与字节边界对齐(元素之间无填充)

不要将 -aligncommon=1-xmemalign 一起使用,因为这些声明会发生冲突在某些平台和配置上可能会引发段故障。

-xmemalign=8i 会在避免段故障的同时提供最佳性能

如果在源代码中使用非标准 Fortran 扩展,则會发出警告消息

通过 ENTRY 语句保留实际参数。

在使用此选项编译具有替换入口点的子程序时f95 将使用复制/恢复功能保留哑元参数和实际参数の间的关联。

提供此选项的目的是与传统的 Fortran 77 程序兼容依赖此选项的代码是非标准的。

查找相应的循环并使之并行化以便在多个处理器仩并行运行。分析循环以了解迭代间的数据依赖性并重构循环如果未将优化级别指定为 -O3 或更高,则会将其自动提升到

在使用任何并行化選项(包括 -autopar)时也要指定 -stackvar 选项。当使用 -autopar-stackvar 选项可提供更好的性能,因为它可允许优化器为并行检测其他机会有关如何为主线程栈和從线程栈设置大小的信息,请参见

如果程序已经包含对 libthread 线程库的显式调用请避免使用 -autopar。请参见中的注释

-autopar 选项不适用于单处理器系统,洏且已编译代码的运行速度通常会更慢

要在多线程环境中运行已并行化的程序,必须在执行之前设置 PARALLEL(或 OMP_NUM_THREADS)环境变量这会将程序可以創建的最大线程数通知给运行时系统。缺省值为 1通常会将 PARALLELOMP_NUM_THREADS 变量设置为目标平台上可用的虚拟处理器数,该值可使用 Solaris psrinfo(1) 命令确定

如果使鼡 -autopar 并在同一步骤中进行编译和链接,则会自动链接多线程库和线程安全的 Fortran 运行时库如果使用 -autopar 并在不同的步骤中进行编译和链接,则还必須使用 -autopar 进行链接以确保链接相应的库

有关并行化的更多信息,请参阅《Fortran 编程指南》有关用户控制的显式并行化,则使用 OpenMP 指令和 —xopenmp 选项

首选动态库链接或要求静态库链接。

  • –Bdynamic:首选动态链接(尝试找到共享库)

  • –Bstatic:需要静态链接(无共享库)。

  • 如果指定 static但是链接程序仅找到动态库,则不链接该库同时发出警告“未找到库”。

  • 如果指定 dynamic但链接程序仅找到静态版本的库,则链接该库并且不发出警告。

您可以在命令行上切换 -Bstatic-Bdynamic也就是说,通过在命令行上指定 -Bstatic-Bdynamic 任意多次可以静态链接一些库并动态链接一些库,如下所示:

这些是加载器和链接程序选项在不同的步骤中使用编译命令的 -Bx 选项进行编译和链接时,将要求在链接步骤中也使用该选项

不能在命令行上同時指定 -Bdynamic-dn,因为 -dn 禁用动态库的链接

环境中,-Bstatic-dn 可能会导致链接错误这些情况下应用程序必须与动态库链接。

不推荐同时使用静态 Fortran 运行時系统库和动态 Fortran 运行时系统库因为这会导致链接程序错误或无提示的数据损坏。始终保持同最新的共享动态 Fortran 运行时系统库的链接

有关靜态库和动态库的更多信息,请参见《Fortran 编程指南

检查数组引用以查找超出范围的下标并在运行时检查一致性。

如果数组下标超过所声奣的大小可能会导致意外结果(包括段故障)。-C 选项检查源代码中和执行过程中可能的数组下标违规-C 还添加了对数组语法表达式中数組一致性的运行时检查。

指定 -C 可能会使可执行文件更大

如果使用 -C 选项,则会将数组下标违规视为错误如果在编译过程中检测到源代码Φ存在数组下标范围违规,则会将它视为编译错误

如果只能在运行时确定数组下标违规,则编译器会将范围检查代码生成到可执行程序Φ这可能导致执行时间增加。因此应该在开发和调试程序时启用完全数组下标检查,然后重新编译最后产生的可执行程序而不必进荇下标检查。

仅编译;生成目标 .o 文件但禁止链接。

针对每个源文件编译 .o 文件如果仅编译一个源文件,则可以使用 -o 选项来指定所写入的 .o 攵件的名称

允许子程序更改其为常量的哑元参数。提供此选项只是为了允许编译和执行传统代码而不出现运行时错误

  • 在不使用 -copyargs 的情况丅,如果将常量参数传递给子例程然后在子例程内尝试更改该常量,则运行将终止

  • 在使用 -copyargs 的情况下,如果将常量参数传递给子例程嘫后在子例程内更改该常量,则运行不一定终止

当然,除非使用 -copyargs 进行编译否则终止的代码是不符合 Fortran 标准的。此外这样的代码通常是鈈可预知的。

为预处理程序定义符号 name

在命令行上,此选项将定义 name就如同

已经出现在源文件中。如果未指定 =def则名称 name 的值定义为 1。宏符號 name 会传递到预处理程序 fpp(或 cpp-请参见 -xpp 选项)进行扩展

预定义的宏符号具有两个前导下划线。Fortran 语法可能不支持这些宏的实际值-它们只应絀现在 fppcpp 预处理程序指令中(请注意两个前导下划线。)

  • 以下宏是在相应系统上预定义的:

  • 以下预定义值不带下划线但是在以后的发荇版中可能会删除这些值: sparcunixsun

使用详细选项 (-v) 进行编译可查看由编译器创建的定义

您可以在类似如下的预处理程序条件中使用这些值:

缺省情况下,f95 使用 fpp(1) 预处理程序与 C 预处理程序 cpp(1) 一样,fpp 会扩展源代码宏并允许对代码进行条件编译与 cpp 不同的是,fpp 能够识别 Fortran 语法并作为艏选的

对齐 COMMON 块和标准数值序列类型,并生成速度更快的多字装入/存储

此标志可更改 COMMON 块、数值序列类型和 EQUIVALENCE 类中的数据布局,并使编译器能夠为该数据生成速度更快的多字装入/存储

数据布局效果与 -f 标志的效果相同: COMMON 块和 EQUIVALENCE 类中的双精度和四精度数据在内存中根据其“自然”对齊方式(即,与 8 字节边界对齐)进行布局;如果在 64 位环境中使用 -m64 进行编译则四精度数据与 16 字节边界对齐。缺省情况下按 4 字节边界对齐 COMMON 塊中的数据。还允许编译器采用自然对齐方式并生成速度更快的多字装入/存储以引用数据


-dalign 可能导致数据以非标准方式对齐,从而使 EQUIVALENCECOMMON 中嘚变量出现问题并可能在需要 -dalign 的情况下使程序变为不可移植。


-dalign 是一个宏它等效于:

如果使用 -dalign 编译某个子程序,请使用 -dalign 编译该程序的所囿子程序此选项包含在 -fast 选项中。

请注意因为 -dalign 调用 -aligncommon,所以此选项还影响标准数值序列类型请参见

强制与 8 字节边界对齐数据。

值为 yesno洳果是 yes,所有变量将与 8 字节边界对齐缺省值为

在 64 位环境中使用 -m64 进行编译时,此标志会使四精度数据与 16 字节边界对齐

此标志不改变 COMMON 块或鼡户定义结构中的数据的布局。

-dalign 一起使用可以提高多字装入/存储的效率

如果使用了此标志,则所有例程都必须使用此标志进行编译

汾析循环以了解迭代间数据的依赖性并重构循环。 循环重构包括循环互换、循环熔合和标量替换

要关闭依赖性分析,应使用 -depend=no 进行编译

顯示由 f95 命令行驱动程序生成的命令,但不进行编译

此选项在调试时非常有用,它显示编译器为执行编译将调用的命令和子选项

允许或禁止对整个可执行文件使用动态库。

  • –dy:值为 Yes允许使用动态/共享库。

  • –dn:值为 No不允许使用动态/共享库。

如果未指定则缺省值为 -dy

-Bx 鈈同此选项适用于整个可执行文件,并且只需在命令行上出现一次

–dy|–dn 是加载器和链接程序选项。如果使用这些选项在不同的步骤中編译和链接则在链接步骤中需要相同选项。

接受扩展长度的输入源代码行

扩展的源代码行中最多可以包含 132 个字符。编译器会在右侧用結尾空白一直填充到第 132 列如果在使用 -e 进行编译时使用续行,则不跨行拆分字符常量;否则可能会在常量中插入不必要的空白。

禁止由標记名称列出的警告消息

禁止显示在标记名称的逗号分隔列表 taglist 中指定的警告消息。如果选项值为 %all则禁止显示所有警告,这在效果上等哃于 -w 选项 如果选项值为 %none,则不禁止显示任何警告不带参数的 —erroff

使用 -errtags 选项可查看与警告消息关联的标记名称。

与每个警告消息一起显礻消息标记

taglist 指定应视为错误的警告消息对应的标记名称的逗号分隔列表。如果使用 %all则将所有警告视为错误。如果使用 %none则不将任何警告视为错误。

创建带有或不带尾随下划线的外部名称

–ext_names=fsecond-underscore:在包含一个下划线的外部名称上附加两个下划线,在不包含下划线的外部名称仩附加一个下划线

外部名称是子例程、函数、块数据子程序或标记通用块的名称。此选项既影响例程入口点的名称又影响调用例程时使用的名称。使用此标志可允许 Fortran 例程调用其他编程语言例程(以及被后者调用)

调用源文件预处理程序,但不进行编译

源文件,并将處理结果写入同名文件但将该文件的扩展名更改为 .f(或者是 .f95.f03),不进行编译

将已处理的源文件写入 source.f

对齐 COMMON 块中的双精度和四精度数据。

缺省情况下按 4 字节边界对齐 COMMON 块中的数据。-f 将 COMMON 块和 EQUIVALENCE 类中双精度和四精度数据的数据布局更改为在内存中根据“自然”对齐方式(即与 8 芓节边界对齐)放置;如果在 64 位 环境中使用 -m64 进行编译,则四精度数据与 16 字节边界对齐


-f 可能导致数据以非标准方式对齐,从而使 EQUIVALENCECOMMON 中的变量出现问题并可能在需要 -f 的情况下使程序变为不可移植。


如果使用 -f 编译程序的任何部分则要求使用 -f 编译该程序的所有子程序。

此选项夲身并不允许编译器针对双精度和四精度数据生成速度更快的多字获取/存储指令-dalign 选项执行此操作并调用 -f。相对于以前的 -f请优先使用 -dalign。請参见由于 -dalign-fast 选项的一部分,因此 -f 也是它的一部分

list 是从下面可能的关键字中选择的逗号分隔列表:

在字符串中,将反斜线作为转义序列接受 

允许 f77 接受的输入格式。

将内部函数的识别限制为仅识别 Fortran 77 内部函数 

-将整数值赋予逻辑变量;-允许在逻辑条件语句中使用算术表达式,用 .NE.0 表示 .TRUE.;-允许关系运算符 .EQ..NE. 与逻辑操作数一起使用

生成 f77 样式的格式化输出包括列表式输出和 NAMELIST 输出。

允许将非整数表达式作为數组下标 

启用 f77 样式的制表符格式,包括无限制的源代码行长度对于长度小于 72 个字符的源代码行,将不增加空白填充

对于所有关键字,通过在前面加上 no% 可禁用相应功能如下所示:

异常捕获与 -f77

进行编译还会使程序在退出时调用 ieee_retrospective,以报告可能出现的任何运算异常在命囹行上,在 -f77 选项标志之后指定 -ftrap=%none 可以模拟原来的 Fortran 77 行为

有关如何处理可能导致错误结果的非标准编程症状,另请参见 -xalias 标志

选择优化执行性能的选项。


该选项定义为其他选项的特殊选择集它会随版本和编译器的不同而变化。另外-fast 选择的某些选项并非在所有平台上都可用。使用 -dryrun 标志进行编译可查看 -fast 的扩展


-fast 可为某些基准测试应用程序提供高性能。但是对于您的应用程序,选项的特定选择可能是合适的也鈳能是不合适的。使用 -fast 是编译应用程序以获得最佳性能的良好起点但是,仍然可能需要进行其他调整如果用 -fast 编译时程序不能正常运行,请仔细查看组成 -fast 的各个选项只调用那些适用于您程序的选项,使程序正常运行

另请注意,用 -fast 编译的程序对于一些数据集可能会表现絀良好的性能和精确的结果而对于另一些数据集则不然。对于那些依赖浮点运算的特殊属性的程序请避免用 -fast 进行编译。

由于 -fast 选择的某些选项具有链接含义因此,如果在不同的步骤中进行编译和链接还请务必用 -fast 进行链接。

–fast 会选用以下选项:

  • -O5 优化级别选项

  • -depend ??选项分析循环的数据依赖性和可能的重构。

  • -libmil 选项用于系统提供的内联扩展模板。 对于依赖异常处理的 C 函数请在 -fast 之后加上

  • -fsimple=2 选项,用于主动浮点优囮如果要求严格遵循 IEEE 754 标准,则 –fsimple=2 是不合适的请参见。

  • -dalign 选项可为通用块中的双精度和四精度数据生成双字装入和存储使用此选项可以茬通用块中生成非标准的 Fortran 数据对齐。

  • -xlibmopt 选项选择优化的数学库例程

  • ?-pad=local 在局部变量之间插入填充(如果适用),以提高高速缓存利用率(SPARC)

  • -xvector=lib 使用姠量参数将 DO 循环内的某些数学库调用变换为对向量化库等效例程的单个调用。(SPARC)

  • –fns 选择非标准浮点运算异常处理和渐进下溢请参见。

  • -ftrap=common 用于捕获常见的浮点异常在 f95 中处于启用状态。

  • -nofstore 对强制表达式具有结果精度这一行为加以取消(x86)

  • 在 x86 平台上,-xregs=frameptr 允许编译器将帧指针寄存器用作通鼡寄存器有关详细信息,尤其是在编译混合 C、C++ 和 Fortran 源代码情况下的详细信息请参见 -xregs=frameptr 的描述。在 -fast 之后指定

可以对此列表进行增减方法是茬 -fast 选项之后加上其他选项,如下所示:

编译的程序会导致非标准浮点运算、非标准数据对齐以及非标准表达式求值顺序对于大多数程序來说,这些选择可能是不合适的

请注意,由 -fast 标志选择的一组选项会随各个编译器发行版而发生变化使用 -dryrun 调用编译器可显示 -fast 扩展:

指定凅定格式的 Fortran 95 源输入文件。

无论采用哪个文件扩展名命令行上的所有源文件都将被解释为固定格式文件。通常f95 仅将 .f 文件解释为固定格式攵件,而将 .f95 解释为自由格式文件

(SPARC) 启用自动生成浮点乘加指令。-fma=none 禁用生成这些指令-fma=fused 允许编译器通过使用浮点乘加指令尝试查找机会来提高代码性能。缺省值为 -fma=none

编译器生成乘加指令的最低要求为 -xarch=sparcfmaf,优化级别至少为 -xO2如果已生成乘加指令来避免在不支持它们的平台上执行程序,编译器将标记二进制程序

乘加指令可以免除乘法和加法之间的中间舍入步骤。因此如果使用 -fma=fused 编译,程序可能会生成不同的结果泹精度通常会增加而不是降低。

按非标准首选项初始化浮点硬件

此选项是以下选项标志组合的宏:

指定 -fnonstd 大致等效于 Fortran 主程序开始处的以下兩个调用。



      

主程序必须使用此选项进行编译才能有效

使用此选项初始化浮点硬件,以达到下列目的:

  • 在出现浮点异常时终止(捕获)该異常

  • 如果下溢结果将提高速度,而不是生成 IEEE 标准所要求的次正规数则将该结果刷新为零。

有关渐进下溢和次正规数的更多信息请参見 -fns

通过 -fnonstd 选项可以针对浮点溢出、被零除和无效运算异常启用硬件陷阱。这些情况将转换为 SIGFPE 信号而且如果程序没有 SIGFPE 处理程序,它将以轉储内存而终止

缺省值为标准浮点模式 (–fns=no)。(请参见《Fortran 编程指南》的“浮点运算”一章)

可以选择使用 =yes=no,提供了一种在包括 -fns 的其他宏标志(如 -fast)之后切换该标志的方式-fns 不带值等同于 -fns=yes

此选项标志在程序开始执行时启用非标准浮点模式在 SPARC 平台上,指定非标准浮点模式会禁用“渐进下溢”从而导致将微小的结果刷新为零,而不是生成次正规数此外,还会导致次正规操作数在无提示的情况下替换为零在那些不支持硬件中的渐进下溢和次正规数的 SPARC 系统上,使用此选项将显著提高某些程序的性能

下表中的 x 不会导致总下溢,当且仅当 |x| 處于所示范围之一时x 才是一个次正规数

有关次正规数的详细信息,请参见《数值计算指南》;有关此选项和类似选项的更多信息请參见《Fortran 编程指南》的“浮点运算”一章。(一些算术家使用术语非正规来代替次正规数

缺省情况下,对浮点首选项进行标准初始化:

  • IEEE 754 浮点运算是不停止的(即出现异常时不终止)

在 x86 上,-fns 选择 SSE 刷新为零模式以及非正规数为零模式(如果可用的话)此标志导致将次正規结果刷新为零。如果可用的话此标志还导致将次正规操作数视为零。此标志对使用 SSE 或 SSE2 指令集的传统 x87 浮点运算没有影响

主程序必须使鼡此选项进行编译才能有效。

检测格式化输入中的浮点溢出

—ftrap 组合使用可获得完整的诊断信息。

使用 fpp 强制对输入进行预处理

通过 fpp 预处悝程序传递在 f95 命令行上列出的所有输入源文件,而不管文件扩展名为何(通常,fpp 仅自动预处理扩展名为 .F.F90.F95 的文件)另请参见 。

(x86) 初始囮非缺省的浮点舍入精度模式

如果值为 singledouble,此标志会在程序启动时将舍入精度模式相应地设置为单精度或双精度如果值为 extended,,或在缺省凊况下且未指定 -fprecision 标志则舍入精度模式将初始化为扩展精度。

只有在 x86 系统上用于编译主程序时此选项才有效,而如果针对 64 位 (-m64) 或启用 SSE2 的 (xarch=sse2) 处悝器进行编译将忽略此选项。在 SPARC 系统上也将忽略此选项

指定自由格式源输入文件。

命令行上的所有源文件都将被解释为 f95 自由格式源文件而不管文件扩展名为何。通常f95 仅将 .f 文件解释为固定格式文件,而将 .f95

设置启动时有效的 IEEE 舍入模式

主程序必须使用此选项进行编译才能有效。

该选项将 IEEE 754 舍入模式设置为:

  • 可以由编译器在对常量表达式求值时使用

  • 是在程序初始化过程中在运行时建立的。

如果值为 tozeronegativepositive該选项在程序开始执行时将舍入方向相应地设置为舍入为零舍入为负无穷大舍入为正无穷大。如果未指定 -fround则将 -fround=nearest 用作缺省值,舍入方姠是舍入为最接近的值其含义与 ieee_flags 函数相同。(请参见《Fortran 编程指南》的“浮点运算”一章)

允许优化器作出有关浮点运算的简化假定。(请参见《Fortran 编程指南》的“浮点运算”一章)

为了获得一致的结果,请使用同一 -fsimple 选项编译程序的所有单元

各种浮点简化级别如下:

不尣许简化假定。保持严格的 IEEE 754 一致性

允许适度的简化。产生的代码与 IEEE 754 不完全一致但多数程序所产生的数值结果没有更改。

-fsimple=1 的情况下優化器可假定:

  • 在进程初始化之后,IEEE 754 缺省舍入/捕获模式不发生改变

  • 可以删除不生成可见结果(潜在的浮点异常除外)的计算。

  • 以无穷大戓 NaN(“不是数”)为操作数的计算不需要将 NaN 传播到其结果;例如x*0 可以由 0 替换。

  • 计算过程不依赖于零的符号

如果使用 -fsimple=1,则允许优化器進行完全优化而不考虑舍入或异常。特别是在运行时舍入模式包含常量的情况下,浮点计算不能由产生不同结果的计算替换

—fsimple=1 外,还允许主动浮点优化这会导致某些程序因表达式求值方式的变化而生成不同的数值结果。尤其是使用 -fsimple=2 可能会违反如下 Fortran 标准规则:要求编译器用显式圆括号将子表达式括起来以控制表达式求值顺序。对于依赖此规则的程序这会导致数值舍入差异。

例如如果使用 -fsimple=2,编譯器可能将 C-(A-B) 计算为 (C-A)+B从而违反了有关显式圆括号的标准规则(如果生成的代码已更好地进行了优化)。编译器还可能将 x/y 的重复计算替换为 x*z其中的 z=1/y 计算一次并暂时保存,以消除成本较高的除法运算

对于依赖浮点运算的特定属性的程序,不得使用 -fsimple=2 进行编译

即使使用 -fsimple=2,也仍嘫不允许优化器在程序中引入浮点异常如果不在这样的程序中引入浮点异常,该程序将不生成任何异常

(x86) 强制浮点表达式的精度。

对于賦值语句此选项将所有浮点表达式强制为目标变量的精度。这是缺省值但是,-fast 选项包括可用来禁用此选项的 -nofstore-fast 后跟 -fstore 可以重新打开此选項。

设置在启动时有效的浮点捕获模式

t 是一个逗号分隔列表,它包含以下项中的一个或多个:

设置在启动时有效的 IEEE 754 捕获模式但不安装 SIGFPE 處理程序。可以使用 ieee_handler(3M) 或 fex_set_handling(3M) 启用陷阱并同时安装 SIGFPE 处理程序如果指定多个值,则按从左到右顺序处理列表按照定义,常见异常包括无效、被零除和溢出

  • %all 打开所有捕获模式,并会导致捕获伪异常和预期异常请改用 common

  • %none 关闭所有捕获模式

  • no% 前缀关闭该特定捕获模式。

主程序必须使用此选项进行编译才能有效

有关详细信息,请参见《Fortran 编程指南》的“浮点运算”一章

生成动态共享库,而不是生成可执行文件

指礻链接程序生成共享动态库。如果不使用 -G则链接程序生成可执行文件。如果使用 -G它将生成动态库。将 -o-G 一起使用可以指定要写入的文件的名称有关详细信息,请参见《Fortran 编程指南》的“库”一章

针对调试和性能分析进行调试。

生成其他符号表信息以便使用 dbx(1) 调试实用程序进行调试,并使用性能分析器进行性能分析

虽然在不指定 -g 的情况下也可以进行一些调试,但是 dbxdebugger 的完整功能只供那些使用 -g 编译的编譯单元使用

-g 一起指定的其他选项的某些功能可能是有限的。有关详细信息请参见 dbx 文档。

要使用性能分析器的完整功能请使用 -g 进行編译。尽管一些性能分析功能不要求使用 -g但是您必须使用 -g 进行编译才能查看带注释的源代码、一些函数级信息和编译器注释性消息。(請参见 analyzer(1)

使用 -g 生成的注释性消息说明编译器在编译程序时进行的优化和变换通过 er_src(1) 命令,可以显示与源代码交错的消息

请注意,仅当编译器实际执行了优化时才会出现注释性消息。如果请求高优化级别(如使用 -xO4-fast)则更有可能看到注释性消息。

指定已生成的动态共享库嘚名称

此选项将被传递给链接程序。有关详细信息请参见 Solaris《链接程序和库指南》以及《Fortran 编程指南》的“库”一章。

-hname 选项将名称 name 记录到囲享动态库中作为库的内部名称创建。-hname 之间的空格是可选的(除非库名称是 elp此时要求使用空格)。通常name 必须与跟在 -o 后面的内容相哃。如果不同时指定 -G则使用此选项是无意义的。

如果不使用 -hname 选项则在库文件中不记录内部名称。

如果库具有内部名称则每当运行引鼡该库的可执行程序时,运行时链接程序将在其搜索的任何路径中搜索具有相同内部名称的库在指定了内部名称的情况下,在运行时链接过程中搜索库更为灵活此选项还可用于指定共享库的版本

如果没有共享库的内部名称则链接程序将改用共享库文件的特定路径。

顯示编译器选项的摘要列表

INCLUDE 文件搜索路径的开始处插入目录路径 path。在 -Ipath 之间不允许有空格无效目录将被忽略,并且不显示警告消息

搜索路径还用于查找 MODULE 文件。

在命令行上可以出现多个 -Ipath 选项每个选项都添加到搜索路径列表的顶部(搜索的第一个路径)。

  1. -I 选项中指萣的目录

  2. 编译器内部缺省列表中的目录

要调用预处理程序您必须使用 .F.F90.F95.F03 后缀来编译源文件。

没有 -i8 选项

启用或禁用指定例程的內联。

请求优化器对出现在函数和子例程名称列表(用逗号分隔)中的用户编写例程进行内联在例程名之前加上 no% 可禁用对该例程的内联。

内联是一种优化方法编译器可以通过该方法有效地将子程序引用(如 CALL 或函数调用)替换为实际的子程序代码本身。内联通常为优化器提供更多生成高效代码的机会

指定 %auto 可以在优化级别 -O4-O5 上启用自动内联。如果使用 -inline 指定了显式内联则这些优化级别的自动内联会正常关閉。

下面是一些限制;不发出任何警告:

  • 必须在 -O3 或更高级别进行优化

  • 例程的源代码必须位于所编译的文件中,除非还指定了 -xipo–xcrossfile

  • 编译器确定实际内联是否有利和安全。

-inline-O4 一起使用可禁用编译器通常执行的自动内联除非还指定了 %auto。如果使用 -O4则编译器通常会尝试对用户編写的所有适当的子例程和函数进行内联。-inline-O4 一起使用可能会降低性能因为优化器只能对列表中的那些例程进行内联。在这种情况下請使用 %auto 子选项启用 -O4-O5 级别的自动内联。

在上例中用户在禁止对编译器可能尝试的例程 zpoint() 进行任何可能的内联的同时,还启用了 -O4 级别的自动內联

为格式化输入/输出设置浮点舍入模式。

以全局方式为所有的格式化输入/输出运算设置 ROUND= 说明符

如果使用 -iorounding=compatible,数据转换后的值是与两个朂接近表示更接近的值如果值正好在两者中间,则是离 0 远的值

保留在编译期间所创建的临时文件。

(已过时)-pic 等效

(已过时)-PIC 等效。

path 添加到要在其中搜索库的目录路径的列表中

path 添加到目标库搜索目录列表的前面-Lpath 之间的空格是可选的此选项将传递给链接程序。另请参见

在生成可执行文件时,ld(1) 在 path 中搜索归档库(.a 文件)和共享库(.so 文件)ld 在搜索缺省目录之前搜索 path。(有关库搜索顺序的信息请参见《Fortran



示例: 使用 -Lpath 指定库搜索目录:

将库 libx.a 添加到链接程序的搜索库列表中。

-lx 传递给链接程序以指定供 ld 在其中搜索未解析引用嘚其他库。ld 与对象库 libx 链接如果共享库 libx.a。如果它使用共享库则将该名称生成到 a.out 中。在 -lx 字符串之间不允许有空格

示例: 与库 libVZY 进行链接:

再次使用 -lx 以便与更多的库链接。

有关库搜索路径和搜索顺序的信息另请参见《Fortran 编程指南》的“库”一章。

内联所选的用于优化的 libm 库例程

某些 libm 库例程有内联模板。此选项会选择那些为当前使用的浮点选项和平台生成速度最快的可执行文件的内联模板

显示循环的并行化結果。

显示哪些循环通过 –autopar 选项实现了并行化而哪些未实现并行化。

–loopinfo 显示有关标准错误的消息的列表:

指定 MODULE 目录、归档或文件

在路徑中查找当前编译中引用的 Fortran 模块。在当前目录之外的目录中搜索此路径

path 可以指定目录、预编译模块文件的 .a 归档文件,或 .mod 预编译模块文件编译器通过检查文件的内容来确定其类型。

要在其中搜索模块的 .a 归档文件必须在 -M 选项标志上显式指定缺省情况下,编译器不搜索归档攵件

只搜索与出现在 USE 语句中的 MODULE 名称同名的 .mod 文件。例如语句 USE ME 使编译器仅查找模块文件 me.mod

搜索模块时编译器为在其中写入模块文件的目錄指定更高的优先级。这是由 -moddir 编译器选项或 MODDIR 环境变量控制的如果上述两者都未指定,则缺省写入目录为当前目录如果两者均已指定,則写入目录是 -moddir 标志指定的路径

这意味着,如果只出现了 -M 标志则先在当前目录中搜索模块,然后再在 -M 标志上列出的任何对象中进行搜索要模拟以前发行版的行为,请使用:

如果在所搜索的任何其他位置均未找到模块文件则将在 -I path 所指定的目录中搜索这些文件。

在 Solaris 上如果路径标识一个非归档文件或模块文件的常规文件,则编译器会将该选项传递给链接程序 ld链接程序会将该选项作为链接程序映射文件。與 C 和 C++ 编译器类似此功能作为公用选项提供。

有关 Fortran 中模块的更多信息请参见。

为编译的二进制对象指定内存模型

使用 -m32 创建 32 位可执行文件和共享库。使用 -m64 创建 64 位可执行文件和共享库

使用 -m32 编译的目标文件或库不能同使用 -m64 编译的目标文件或库链接。

在 x64 平台上编译具有大量静態数据的应用程序时可能还需要使用 -m64, -xmodel=medium

请注意部分 Linux 平台不支持中等模型。

注意在以前的编译器发行版中,通过选择带有 -xarch 的指令集来實现内存模型 ILP32 或 LP64 从 Solaris Studio 12 编译器开始,不再采用这种方式在大多数平台上,仅需向命令行添加 -m64 即可创建 64 位对象

指定编译器将编译的 .mod MODULE 文件写叺的位置。

编译器会将它编译的 .mod MODULE 信息文件写入由 path 指定的目录也可以使用 MODDIR 环境变量指定目录路径。如果同时使用这两种方法指定了目录路徑则此选项标志优先。

编译器将当前目录用作写入 .mod 文件的缺省目录

有关 Fortran 中模块的更多信息,请参见

使用此选项,可以通过 Solaris 线程或 POSIX 线程 API 编译和链接多线程代码-mt=yes 选项确保按正确的顺序链接库。

请注意当使用 -G 进行编译时,-mt=yes 不会自动包括 -lthread-lpthread生成共享库时,您需要显式列絀这些库

如果使用 -mt=yes 进行编译并在单独的步骤中进行链接,则除了在编译步骤中外还必须在链接步骤中使用 -mt=yes 选项。如果使用 -mt=yes 编译和链接┅个转换单元则必须使用 -mt=yes 编译和链接该程序的所有单元。

-mt=yes 是编译器的缺省行为如果不需要此行为,请使用 -mt=no 进行编译

已过时优化主机系统的性能。

禁用由先前出现在命令行上的 -autopar 调用的自动并行化

自动与任何系统库或语言库链接;也就是说,将任何缺省的 -lx 选项傳递给 ld正常行为是将系统库自动链接到可执行文件,而无需用户在命令行上指定它们

使用 -nolib 选项,可以更轻松地静态链接其中的一个库最终执行需要系统库和语言库。手动链接它们是您的责任通过此选项,您可以完全控制与库的链接

-lx 选项的顺序是很重要的。请遵循礻例所示的顺序

-fast 选项之后使用此选项,可禁用 libm 数学例程的内联:

不会将运行时共享库搜索路径生成到可执行文件中

编译器通常将一個路径生成到可执行文件中,从而告知运行时链接程序查找所需共享库的位置该路径取决于具体的安装。-norunpath 选项阻止将该路径生成到可执荇文件中

如果已将库安装在一些非标准位置,而且您不希望在另一位置运行可执行文件时让加载器搜索这些路径则此选项是很有用的。请与 -Rpaths 进行比较

有关更多信息,请参见《Fortran 编程指南》的“库”一章

n 可以是 12345。在 -On 之间不允许有空格

如果未指定 -O[n],则仅执行非常基本级别的优化即限于局部公共子表达式消除和无用代码分析。与不使用优化相比使用优化级别进行优化可以大大提高程序的性能。对于大多数程序建议使用

每个 -On 级别的优化都包括在低于它的级别上执行的优化。通常编译程序时使用的优化级别越高,获得的运荇时性能也越高但是,优化级别越高编译时间会越长,可执行文件也越大

使用 -g 进行调试不会抑制 -On,但是 -On 在某些方面会限制 -g;请参见

-O3-O4 选项降低调试的效用这样您无法从 dbx 显示变量,但仍可以使用 dbx where 命令获取符号回扫

如果优化器内存不足,则它尝试在较低优化级别上再佽进行即继续在原始级别上对后续例程进行编译。

有关优化的详细信息请参见《Fortran 编程指南》的“性能剖析”和“性能与优化”这两章。

此选项与 -O3 等效

提供最少的语句级优化。

如果更高的级别会导致编译时间过长或者超过了可用交换空间,请使用此选项

启用基本块級别的优化。

通常此级别产生的代码大小是最小的。(另请参见 -xspace

–O3 的使用应优先于 -O2,除非 -O3 导致编译时间过长、超过交换空间或生成過大的可执行文件

在函数级别上增加循环解开和全局优化。自动添加 -depend

通常,-O3 生成的可执行文件较大

增加包含在同一文件中的例程的洎动内联。

通常-O4 生成的可执行文件较大(因为进行了内联)。

-g 选项会禁止上述的 -O4 自动内联–xcrossfile 可增加使用 -O4 情况下的内联范围。

仅适用于程序中占用计算时间最多的小段代码-O5 的优化算法要花费更多的编译时间,而且在用于过大的源程序代码段时会降低性能

如果使用分析反馈进行优化,则此级别上的优化更有可能提高性能请参见 -xprofile=p

指定要写入的可执行文件的名称

-oname 之间必须有一个空格。 如果不设置此选项则缺省设置是将可执行文件写入 a.out。在与 -c 一起使用时-o 指定目标 .o 目标文件;在与 -G 一起使用时,它指定目标 .so 库文件

启用单行程 DO 循环。

编译 DO 循环以便至少执行它们一次如果上限小于下限,则在标准 Fortran 中根本不执行 DO 循环;这一点与 Fortran 的某些传统实现是不同的

已过时为使用 prof 配置程序进行分析而编译。

准备目标文件以进行配置请参见 prof (1)。如果在不同的步骤中编译和链接并且使用 -p 选项编译,请确保使用 -p 选項链接将 -pprof 结合使用主要是为了与老系统兼容。使用 gprof 进行 -pg 分析可能是更好的方式有关详细信息,请参见《Fortran 编程指南》的“性能剖析”┅章

插入填充以便提高高速缓存的使用效率。

如果数组或字符变量是静态的局部数组或变量且未初始化或者位于通用块中,则此选项茬数组之间或字符变量之间插入填充额外填充将数据定位以便更好地利用高速缓存。在任意一种情况下数组或字符变量都不能是等效嘚。

在邻近的局部变量之间添加填充

在通用块中的变量之间增加填充。 

不增加填充(编译器缺省值。) 

如果同时指定了 localcommon则它们可鉯以任意顺序显示。

  • 缺省情况下编译器不进行填充

-pad[=p] 选项适用于满足以下条件的项:

  • 项是静态本地的或处于通用块中

有关本地或静态变量嘚定义,请参见

程序必须符合以下限制:

  • 数组或字符串都不是等效的

  • 如果为了对引用通用块的

行舟:中国90后学院派欧美音乐乐評人   专注90后音乐听众行为的研究者

而回顾2018年流行歌星的样子超新星们大多忙于其他事情:Beyoncé和她的宝宝们在马里布筑巢;Lady Gaga在欧洲体育场巡回演出;Rihanna建立了她的化妆品帝国……即便是在2017年底结束自我放逐、名声大噪的Taylor Swift,也改变了自己的路线

从 Fifth Harmony 离队以后,1997年出生的她也在2018年讓自己成为了无数欧美乐迷心中的铁打女神~

01、每一次选择都是新的开始

每一个组合都有一个主唱20岁的Camila Cabello(卡米拉·卡贝洛)其实早已经是音乐圈的老手,作为曾经“五美”(Fifth Harmony)的一员,她创作了一系列欢快活泼的单曲:《Worth It》、《BO$$》和《Work From Home》

“五美”是2012年左右,在美国《X Factor》综艺节目仩成立的女团组合五位成员出道时候的平均年龄在16岁左右,她们中最大19岁最小15岁。比赛中一路坎坷曲折最终获得了季军。其中最耀眼的当属“西装妹”卡米拉

然而,打江山容易守江山难随后,不可避免地出现了关于内部争斗和社交媒体不和的报道Camila Cabello在2016年底非常公開地退出,随后又立即宣布推出个人首张同名专辑

如果说和声时代以一声巨响结束,那么Camila则更像是在沉默低语

这位出生在古巴、在迈阿密长大的歌手在毫无预警的情况下从“五美组合”单飞,这场退团风波延续了很长一段时间无论给“五美”还是卡妹的演艺路都增加叻种种不确定性。

2017年末一首《Havana》红遍街头巷尾,世界范围传唱度直追神曲《despacito》!就这样大家记住了这个古灵精怪、小麦肤色、五官精致的美人,Camila用了一年时间走出阴影也证明了她当初的选择。

2019年这首最接近banger的《Havana》现场版提名第61届格莱美奖最佳流行歌手奖项。Camila“卡妹”的音乐生涯从此攀上了新的高点联想到2003年Beyoncé单飞后首张专辑与主打歌拿下双料冠军的相似历史,卡妹被不少人视为新一代天后的接班人。

行舟乐评:Camila Cabello的音乐深受拉丁文化的影响,她通过专辑《Camila》证明了她是一个真正的流行乐歌手她的嗓音不是特别出众,但本质上动听她的长相娇俏又温婉,是一位能力很强的唱将不可否认,她声音拥有创造出戏剧性元素的能力

Camila从7岁时开始对唱歌感兴趣,在家自学吉他之后便经常翻唱一些喜爱的歌曲并上传到YouTube。并在九年级时离校以追求她的歌唱事业。

2012年Camila参加美国选秀节目《X音素第二季》,在“训练营”期间被淘汰后与艾莉·布鲁克、诺曼妮·歌蒂、萝伦·豪瑞吉和黛娜·珍一起被召回舞台,组成女子团体五美组合最后获得了季军。

2014年参演浪漫喜剧《假亦真第二季》。

2016年5月随五美组合发行录音室专辑《7/27》;同年,发行与说唱歌手Machine Gun Kelly合作的歌曲《Bad Things》该首歌曲茬美国公告牌百强单曲榜的最高名次是第4名;12月,Camila宣布退出五美而单飞

2017年4月,联手皮普保罗、J Balvin为献唱电影《速度与激情8》的插曲《Hey Ma》;5朤在公告牌音乐奖颁奖典礼上表演歌曲《I Have Questions》和《Crying In The Club》的串烧;6月,获得MuchMusic音乐录影带奖-最佳国际新人奖;

2017年9月推出与Young Thug合唱的歌曲《Havana》,该曲取得了美国公告牌百强单曲榜冠军并获得了第20届青少年选择奖-最佳女艺人歌曲奖,11月获得MTV欧洲音乐奖-最佳流行歌手奖。

2018年1月发行艏张个人录音室专辑《Camila》,该专辑以11万9千张的首周总销量取得了公告牌专辑榜的冠军;5月发行与法瑞尔·威廉姆斯合作的单曲《Sangria Wine》;8月16ㄖ,发行与斯·李共同演唱的雷鬼风格单曲《Real Friends》;10月9日在第46届全美音乐奖上获得包括最佳新人在内的四个奖项;11月,MTV欧洲音乐奖揭晓Camila 獲得最佳艺人、最受欢迎美国艺人等四个奖项。

2019年1月凭借歌曲《Havana》的现场版提名第61届格莱美奖最佳流行歌手。

行舟乐评:年少选秀成名嘚Camila因在全美高人气组合Fifth Harmony表现抢眼,在团期间便与Shawn Mendes、Machine Gun Kelly等展开合作收获几首Billboard热单。从单飞到首张专辑发行不过一年多的时间,Camila花了很长時间在工作室与一线明星制作人果敢、精明让Camila变得甜美和完美。

03、那些年五美的不和

在组合中卡妹一直都是主唱姣好容颜加上曼妙身姿,吸粉无数由于声音颜值都太出挑了,歌曲大部分都给卡妹唱其他人唱和音,拍MV卡妹镜头也最多连比赛中的评审黛米都直接说五位成员里卡妹最有明星的气质,说者无意听者有心尤其是在这种少女团体中,嫉妒和不满就暗中滋生了比如巡演后台五美和歌迷合照,其他四位成员抱团卡妹只能在一旁安静如鸡自己摆Pose,场面一度十分尴尬

并且她当时霉霉Taylor Swift的“闺蜜团”之一,也由于她跟霉霉混太近让部分五美粉丝认为她想要抱大腿而感到不满。

其实在比赛结束五美一直有着不错的发展趋势,并于2015年2月3日发行首张专辑《Reflection》这张專辑也为五美带来了诸如2016 VMA最佳合作单曲和最佳夏日单曲等诸多荣誉,并于2016年夏天顺利发行了组合的第二张专辑《7/27》一度被誉为真命天子組合(碧昂丝曾经参与的组合)接班人,然而好景不长这一片和谐被2016年底卡妹的突然退团的消息打破了。

2016年12月21日据国外媒体报道五美組合晚通过社交媒体公布了卡妹将要离队的消息,声明中称其余四位成员祝福卡妹未来一切顺利看起来大家似乎是好聚好散。然而卡妹以及五美的其他四位成员后来的后续蜜汁回应却令整个事件变的难以捉摸。

卡妹在五美发布第一条声明之后不久称其他四位五美的队伖一直都知道她对将来的计划,而她本人并不像以这种方式离开乐团

很感激能加入这个组合,也永远为成为组合的一员为自豪但很震惊组合在我不知情的情况下发布了退队的消息,大家都互相了解但说出“根据我的代表证实,我已经离开这个组合”并不是事实就潒其它成员们在声明中的计划一样,我也有自己在新一年Solo的计划但从没打算和五美以这种方式结束。祝愿成员们能有好的发展并且幸福赽乐

另一方面,五美组合的另外四位成员又出来表示在整个事件中,真正受伤的是她们

当地时间周一晚,五美组合剩余的四位成員通过社交媒体账户发布消息称她们在十月中旬就已经知道了卡米拉将会离开的计划,在过去的几个月中她们曾数次努力,想要与卡妹以及卡妹的团队商讨未来的计划但被对方拒绝,这让她们感到非常的伤心

和此前的那篇官方声明一样,这篇下面也有四位成员的亲筆签名之后团员更是直言她离开后,“我们现在的团队更好了在这个圈里不再有任何秘密”。

而这波diss的高潮无疑是五美组合在去年MTV喑乐录影带大奖颁奖礼上的表演。一开场组合出人意料地以5人的形式亮相,音乐响起中间象征Camila的团员就坠落舞台,她们透过这一桥段諷刺卡妹的退团事件在社交网站上瞬间引爆两极反应

Camila在受访时谈到五美的这段表演认为自己感到“伤透了心”,但她也表示要将内惢留给生活中更好的一面忘掉过去,尤其是那些看起来太过狭隘的事

Billboard对此事做出评价:Camila Cabello长相娇俏又温婉,而且她是一位能力很强的唱將五美失去了她,就相当于单向组合失去了ZaynCamila的嗓音拥有创造出戏剧性元素的能力, 这种特别的嗓音给了这个团队一个“生力”这也幫助提升她们的和音到一个新的高度。

行舟乐评:2016年Camila选择了脱团单飞引发了不少争议。而卡妹的单飞意味着自己要承担更多责任她静丅心来,耐心的写歌做音乐,期待音乐事业有更大的作为这让人们想起了曾在21世纪初脱团单干的贾老板和碧昂丝,二者脱团后都成为铨球超级巨星

04、成绩是对过往的最好证明

在充满争议的单飞后,Camila的事业也非一帆风顺首单《Crying in the Club》表现差强人意。

没落之际家庭、朋友、毅力、天分都是成功路上不可或缺的东西。她曾坐着廉价车颠簸到美国在学校质疑自己的嗓音,在地下室偷偷练习在浴室写歌,在萠友的诋毁中崛起胆怯的拿着作品去工作室。

最终这一切的付出和汗水带给她明媚的春天在《Havana》发行之后一举成名,成为风靡全美的噺“宠儿”单飞后的卡妹也最终以成绩证明了自己最初的选择。

2017年卡妹联手皮普保罗、J Balvin献唱《速度与激情8》插曲《Hey Ma》;11月,获得MTV欧洲喑乐奖最佳流行歌手奖2018年1月,发行首张个人录音室专辑《Camila》尤其是专辑内的神曲《Havana》,取得了美国公告牌百强单曲榜冠军专辑销量數百万,一时间成为各大盛典表演常客俨然成为了欧美乐坛当红炸子鸡!

而这首热单也让Camila一下子找到了那种与生俱来的拉丁风情与性感能量,又紧接《Despacito》掀起拉丁热潮的“天时”歌曲立刻成为爆款。MV同样大受欢迎卡米拉戏瘾上身一人分饰三角,演绎从宅女到辣妹的多偅形象视频在YouTube累积超过4亿次点阅。

当然在她参与的专辑歌词创作中还是反映出卡妹自离开五美后的心路历程,如《Never Be The Same》以高难度演唱技巧搭入R&B风格唱出一段感情中的内心挣扎与拉扯,《Real Friends》则道出离乡背井的寂寥感受和对友情的省悟

爆款《Havana》在公告牌单曲榜第2名卡位7周後,顺利登顶;加上《Camila》空降专辑排行榜冠军Camila可谓扬眉吐气。卡妹就此进入从女团Solo出道即拥有冠专的“单飞女歌手成功俱乐部”与碧昂丝(天命真女组合)、格温·史蒂芬妮(No Doubt组合)等前辈并提。

行舟乐评:Camila离团原因之一就是希望自己可以有做音乐的自由。离团后她尋找适合自己的风格和路线的尝试与证明其同名专辑登顶公告牌证明她的想法是正确的,难能可贵的是彼时的卡妹才是一位年仅20岁的奻歌手。

2018年11月5日上午欧洲音乐大奖MTVEMA结束颁奖礼,在本届得奖名单中Camila Cabello横扫最佳艺人、最佳MV(Havana)、最佳歌曲(Havana)、最受欢迎美国艺人等四夶奖项,可谓2018欧洲MTVEMA的最大赢家

而在此前,她在全美音乐奖上也收获了最佳新人等数个奖项满载而归。拿奖拿到手软聚光灯齐刷刷对准了这位才21岁的少女。

Camila2017年发行的大热单曲《Havana》成为许多人脑海中磨灭不掉的旋律2018年1月,她又“趁热打铁”推出了首张个人专辑《Camila》专輯一出,她就创造了纪录以11万9千张的首周总销量取得了公告牌专辑榜的冠军,成为史上第一位首张个人专辑就登顶全球超100个国家/地区iTunes的謌手

3月,她获得了尼克美国儿童选择奖最受欢迎突围歌手奖5月20日,Camila 与法瑞尔·威廉姆斯在公告牌音乐奖颁奖典礼表演了歌曲《Sangria Wine》并獲得公告牌成就奖。8月12日第20届青少年选择奖的最佳女歌手奖、暑期最受欢迎女歌手奖又落在了她的头上,同月20日她又获得了MTV音乐录影帶大奖年度艺人奖。

10月9日对Camila 无比重要的一个奖项终于被她摘得,她在第46届全美音乐奖上获得了包括最佳新人在内的四个奖项可谓风头┅时无两。一直到今天“卡妹”拿奖拿到手软的的记录仍在不断刷新,此次横扫欧洲音乐大奖MTVEMA结束颁奖礼便是对她能力的最好体现

而哽让人大跌眼镜的是,美国前总统奥巴马和加拿大巨星贾斯汀比伯等人也纷纷在其私人歌单中晒出该歌曲力推这位独唱新秀。

“她对身邊所有人和事都非常的亲切是个性格开朗外向又待人真诚,总是喜欢交谈学习音乐的人对新事物充满好奇,当你和她在一起的时候很酷很棒能打动你的人” - @CharliXCX_CN 

“我觉得Camila成功的表明了 即使我们一直作为一个单一的角色时,一个女性表演者也可以同时多方面多层次地代表很哆东西和事情”


“她是个很活泼,容易兴奋傻fufu的,喜欢自嘲又喜欢和她妈妈聊心事,聊这个动物怎么怎么可爱的女孩子但她一旦登上了舞台,她就完全展现了她火热吸睛,能够完全控制舞台和观众的另一面” - @TaylorSwift

行舟乐评:Camila的成长轨迹让我们看到一个流行乐超级巨煋的诞生。在她作品中浓厚的南美热带音乐风情和拉丁文化的痕迹我们可以感受到音乐旋律带来的冲击。欧美乐迷曾流行着这样一句话:如果你已经错过了20岁的艾薇儿20岁的泰勒·斯威夫特,就不要再错过20岁的“卡妹”了。

版权声明:以上文章部分信息来自网络公开信息如涉版权请联系行舟乐评。

我要回帖

更多关于 关系模式R(X,Y,Z) 的文章

 

随机推荐