-2

私と私の友人を悩ませているこれらの特定の質問があります。

  • sage で gcc コンパイラをどのように使用しますか?
  • コンパイルが成功したかどうかはどうやってわかりますか?
  • ソースファイルを再コンパイルするとどうなりますか?
4

2 に答える 2

1

Sage の gcc コンパイラーについて: kcrisman が言うように、主に存在するのは、特定のプラットフォーム上の特定のバージョンの gcc にはバグがあることが知られているためです (たとえば、OS X Lion 上の Xcode の最近のリリースの gcc)。これは主に、Sage のさまざまなコンポーネントをビルドするために使用されます。 を実行するmakeと、Sage のインストール手順でプラットフォームに gcc のビルドが必要であると判断された場合、gcc ができるだけ早くビルドされ、それを使用して他のすべてがビルドされます。

Sage が gcc をビルドする場合、Cython ファイルを (再) コンパイルするときにも使用されます。(Sage が gcc をビルドしない場合は、代わりにシステム gcc が使用されます。)

「コンパイルが成功したかどうかはどうやってわかりますか?」と尋ねると、Sage自体のコンパイルのことですか?最善の方法は

$ export SAGE_CHECK=yes
$ make ptestlong

最初の行は、それらを持つすべての Sage パッケージのセルフテストをオンにします。2 行目は Sage をビルドし、その「長い」テスト スイートを並行して実行します。(Sage の gcc を使用する任意のプログラムのコンパイルを意味する場合、これは実際には Sage 固有のものではありません。Sage の gcc のインストールは、gcc の完全に機能するバージョンでなければなりません。)

于 2012-06-21T17:05:06.233 に答える
1

Sage への変更のコンパイルは次のように簡単です。

  • コードの変更
  • ランニングsage -b
  • 新しいコードを試す

パッチの作成に重点を置いていますが、開発者ガイドを参照してください。コンパイルが成功したと表示されれば、コンパイルは成功です。ファイルが単なる Python ファイルの場合は、別のディレクトリにコピーされてバイトコード コンパイルされます (local/lib/python/site-packages/sage/だと思います)。それ以外の場合、Cython ファイルは最初に C に変換され、次にコンパイルされ、それが属する場所に送信されます。

たまたま Sage で gcc を使用することに興味がある場合は、(システムの gcc を使用するのではなく) 実際にビルドされているかどうかを最初に知る必要があります。場合によっては「新しすぎる」ので、そのバイナリを呼び出して(インストール場所が正確にはわかりません)、通常どおりに実行します。

それがすべて少し曖昧である場合、それはあなたの質問も同様に曖昧だからです。誰かがフォローアップに喜んで答えてくれると確信しています。たとえば、多くの人が新しい Cython ファイルを作成し、ノートブックを使用してプロファイルを作成します。これらすべての詳細については、Sage のドキュメントを参照してください。

于 2012-06-20T15:16:50.747 に答える