1. ホーム
  2. オブジェクティブC

[解決済み] objcの "pi "と "M_PI "の違いは何ですか?

2022-03-03 22:28:11

質問

私のコードにいくつかの数学を含めると、定数 "PI"につまずきました。 少なくとも私のXcodeバージョン4.6では、私はどちらかを使用することができました。しかし、次の違いは何ですか? piM_PI ? このトピックについては、ドキュメントが少々窮屈です。

解決方法は?

pi は、"CarbonCore.framework" のヘッダで次のように定義されています。

extern const double_t pi  __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA);

が、"deprecated" とマークされています。これは、古いCarbonフレームワークからの遺物であると推測されます。

M_PI はマクロとして定義されています

#define M_PI   3.14159265358979323846264338327950288

math.h であり、POSIX規格の一部である。

値は同じですが M_PI は、移植性の観点から

(そして Swiftです。 参照 Swiftで数学的PI定数を取得する方法 .)