Cortex 組み込みプロセッサの lpcxpresso ide の一部として GCC 4.6 を使用しています。特にデバッグモードでコンパイルするときは、コードサイズが非常に限られています。属性((always_inline))を使用すると、これまでのところ、単純な関数をインライン化するための優れたツールであることが証明されており、これにより、デバッグ モードでのコードの膨大な量を節約しながら、読みやすさを維持できます。http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/CIAJGAIH.htmlで言及されているので、将来的にはある程度主流になり、サポートされると思います
ここで私の質問に: これは、Lambda を常にインラインで宣言するための正しい構文ですか?
#define ALWAYS_INLINE __attribute__((always_inline))
[](volatile int &i)ALWAYS_INLINE{i++;}
それは機能します。私の質問は、それが将来も機能し続けるかどうか、そして将来的に機能することを保証するために何ができるかです. c++11 をサポートする別の主要なコンパイラに切り替えた場合、属性((always_inline)) を置き換えることができる同様のキーワードを見つけることができますか? 妖精のゴッドマザーに会うとしたら、空のコンストラクターを使用して一時的に構築され、参照によってバインドされるすべてのラムダが、デバッグ モードでも自動的にインライン化されるようにするコンパイラ ディレクティブが必要です。何か案は?