inlining

    0

    1答えて

    クラスの__forceinlineまたはinlineを使用する場合、MSVCのヘッダファイル内に定義を含める必要がありますか?私は、これに関するさまざまな意見がコンパイラごとに異なると聞いています。 例1: //some_class.hpp class some_class { public: __forceinline void some_function(); inl

    0

    1答えて

    インターネットでC++のインライン展開をたくさん検索しましたが、誰もが別の実装方法を好むようです。次のように 私の問題が見えます: // header-file class Test { int i; public: int getI(); }; // source-file int Test::getI() { return i; } この機能getI

    14

    1答えて

    属性System.Runtime.CompilerServices.MethodImplAttributeを使用すると、装飾されたメソッドの処理方法に関するヒントをJITコンパイラに与えることができます。特に、オプションMethodImplOptions.AggressiveInliningは、可能であれば、影響を受けるメソッドをインライン化するようにコンパイラに指示します。残念ながら、F#コンパ

    2

    1答えて

    メソッドがインライン化する可能性があります。それを防ぐ属性があります(「それにはattがあります」)。しかし、明らかに、メソッドは、JITter(http://www.hanselman.com/blog/ReleaseISNOTDebug64bitOptimizationsAndCMethodInliningInReleaseBuildCallStacks.aspx)によるテールコール最適化のた

    4

    1答えて

    質問はすべてそれを言う。私はCan a recursive function be inline?を見ていたので、それをJavaと関連づけようとしていました。

    0

    1答えて

    私はllvmインライン化の仕組み(Inlinerクラス)を理解しようとしています。私が理解できない操作は以下の通りです。 SmallVector<std::pair<CallSite, int>, 16> CallSites; の場合、SmallVectorはllvmクラスです。特に、私はこのコードで "16"の機能が何であるか分かりません。

    1

    1答えて

    C++では、比較述語引数を取る汎用のsort関数テンプレートを作成する場合、コンパイラはこの述語をインライン化することができます。 これはC言語では当てはまりません。qsortは一度コンパイルされ、その比較述語の引数は決してインライン化されません(おそらく、コンパイラ/リンカの最新の状態が改善されている可能性があります。 -date) これは、C++の汎用プログラミングの恩恵です(もちろん、sor

    10

    2答えて

    最新のAndroid SDK(4.1)を使用しています。Proguardを有効にして署名入りのjarをエクスポートしようとしました。しかし、最適化されたAPKを逆コンパイルした後、私は、インライン化されると予想されるメソッドが存在しないことに気付きました。 コードが正しく難読化されたため、Proguardが実行されたことがわかりました。これを確認するので、私は私の活動に、このメソッドを追加しました

    2

    3答えて

    Linuxでgccを使ってC言語で開発しています。私は次のよう // .H file extern int my_function(int val); // .C file inline int my_function(int val){ // my job..very short! } に.Hと.Cファイルの私の小さな機能を整