2017-12-30 24 views
3

MSVCでlink-time code generation (LTCG)を使用している場合、CおよびC++言語の境界を越えてコードを最適化することは可能でしょうか?CおよびC++でリンク時間codegenでMSVCを最適化できますか?

たとえば、C関数をC++呼び出し側にインライン展開できますか?

+0

が動機とHTTPS ://stackoverflow.com/a/48030595/841108 –

+2

私は非常に密接に関連する4つの質問に数分で尋ねられるのが不安です。 (これを含む完全なセットは、https://stackoverflow.com/questions/48030795/、https://stackoverflow.com/questions/48030786/、https://stackoverflow.com/questions/48030706/、https ://stackoverflow.com/questions/48030818/)。私は助けることはできませんが、4つのコンパイラのどれがそれを行うことができるかについての1つの質問が良いと感じています。それは「rep grubbing」の策略のように感じる。多分それは厳しいかもしれないが... –

答えて

3

はい、私はただでそれを試してみました:解体された.cppに

extern "C" int foo(); 
printf("%d\r\n", foo()); 

int foo() { return 5; } 
の.cファイルに

00007FF60F6F3935 mov   edx,5 
00007FF60F6F393A lea   rcx,[string "%d" (07FF60F727FB4h)] 
00007FF60F6F3941 call  printf (07FF60F701E00h) 
関連する問題