タグ付けされた質問 「static-linking」


16
静的リンクと動的リンク
特定の状況で動的リンクよりも静的リンクを選択する、またはその逆を選択する、説得力のあるパフォーマンス上の理由はありますか?私は次のことを聞いたり読んだりしましたが、その真実性を保証する主題については十分に知りません。 1)静的リンクと動的リンクの実行時パフォーマンスの違いは、通常は無視できます。 2)(1)は、プロファイルデータを使用してプログラムのホットパスを最適化するプロファイリングコンパイラーを使用している場合は当てはまりません。静的リンクを使用すると、コンパイラーはコードとライブラリコードの両方を最適化できるためです。動的リンクを使用すると、コードのみを最適化できます。ほとんどの時間がライブラリコードの実行に費やされている場合、これは大きな違いを生む可能性があります。それ以外の場合は、(1)が引き続き適用されます。

5
「静的にリンクされた」および「動的にリンクされた」とはどういう意味ですか?
「静的にリンクされた」および「動的にリンクされた」という用語をよく耳にしますが、C、C ++、またはC#で記述されたコードを指すことがよくあります。彼らは何であり、彼らは何を話しているのですか、そして彼らは何を結び付けていますか?

4
C ++のヘッダーファイルで宣言して、ソースファイルで静的メソッドを定義する
C ++で静的メソッドを操作するときに少し問題があります 例.h: class IC_Utility { public: IC_Utility(); ~IC_Utility(); std::string CP_PStringToString( const unsigned char *outString ); void CP_StringToPString( std::string& inString, unsigned char *outString, short inMaxLength ); static void CP_StringToPString( std::string& inString, unsigned char *outString); void CP_StringToPString( FxString& inString, FxUChar *outString); }; 例.cpp: static void IC_Utility::CP_StringToPString(std::string& inString, unsigned char *outString) { …

2
GHCで巨大なバイナリにコンパイルされた小さなHaskellプログラム
些細な小さなHaskellプログラムでさえ、巨大な実行可能ファイルになります。 私は(GHCで)コンパイルされてサイズが7 MBのバイナリにコンパイルされた小さなプログラムを書きました! 小さなHaskellプログラムでも巨大なバイナリにコンパイルされる原因は何ですか? これを減らすにはどうしたらいいですか?

5
iOS静的フレームワークと動的フレームワークの明確化
iOS 8のリリースでは、iOSの動的フレームワークと静的フレームワークについて少し混乱しています。 作成したライブラリを配布する方法を探しています。iOS7以上をサポートする必要があります。(注:これは独自のフレームワークになります。カカオポッドは使用できません。また、ソースを配布することもできません)。これが私がすでに知っていることです: iOS 8はiOS用の「組み込みフレームワーク」を導入しましたが、私が理解しているように、それらはiOS 7では機能せず、iOS 8以降でのみ機能します。 ライブラリを静的ライブラリ(.aファイル)として配布し、ヘッダーも配布するオプションがあります。これが状況に対処する一般的な方法であることはわかっていますが、それよりも簡単なものを見つけたいと思います(可能な場合は、いくつかのリソースをバンドルすることもできます)。 iOS 7は動的リンクをサポートしていないため、動的.frameworkライブラリ(静的のみ)をサポートしていないこともわかりました。しかし、iOS 8は、静的リンクと同様にそうします。 そして、これはこの情報に関する私の質問です: Mach-Oタイプを「静的ライブラリ」に変更することで、.frameworkターゲットを作成し、静的にすることができることがわかりました。問題なくiOS 7をサポートし、ライブラリを.framework bundle?もしそうなら、なぜインターネット上の多くのリソースが示唆しているように、iOS 8の "組み込みフレームワーク"がそれほど大きな問題になっているのですか?何か不足していますか? 私が作成する他のアプリケーションと同じように、.frameworkにコード署名する必要がありますか? .frameworkファイルに他のリソース(コアデータや画像など)を含める必要がある場合はどうなりますか?そのために別の.bundleファイルを作成する必要がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.