1

当我将“C”文件从 unix(AIX/HPUX/Solaris)移动到 Linux 环境时,任何人都可以帮助我解释 PRAGMAS 的影响。我们是否需要进行任何更改才能使其正常工作,否则它们将在没有任何更改的情况下正常工作。?

如果可能的话,请告诉我从一个环境(unix)移植到另一个环境(linux)时我们可能需要考虑的影响。

非常感谢提前..

4

2 回答 2

0

这主要取决于您的编译器。#pragmas 会被不理解它们的编译器忽略。如果您当前使用的编译器将其中一些用于程序的逻辑,那么该程序是不可移植的,您需要对其进行更改。

于 2012-11-01T06:09:38.307 回答
0

Pragma是 C 标准的一部分。

`#pragma' 指令是 C 标准指定的方法,用于向编译器提供超出语言本身传达的信息的附加信息。该指令的三种形式(通常称为 pragma)由 1999 C 标准指定。AC 编译器可以自由地将它喜欢的任何含义附加到其他 pragma 中。

我们是否需要进行任何更改才能使其正常工作,否则它们将在没有任何更改的情况下正常工作。?
您正在使用不同的编译器。所以会有一些变化需要。例如 GCC 提供了它自己的编译指示,

#pragma GCC dependency
#pragma GCC poison
#pragma GCC system_header
#pragma GCC warning
#pragma GCC error

在移植到使用不同编译器的其他平台时,应该考虑这些事情。我建议你研究编译器文档。

参考这些讨论

C 语言中#pragma 的使用
你用#pragma 编写了哪些代码你觉得有用?
谁能告诉我pragma语句的使用

于 2012-11-01T06:10:21.630 回答