автоматически встроенные функции через единицы перевода и gcc 4.6

Если я не объявил функцию f как встроенную. Просто так:

хиджры:

X f(Y y);

a.cpp:

X f(Y y)
{
    ...
}

Затем в другом модуле перевода:

B.cpp:

#include "A.h"

Z g(W w)
{
    ...
    ... f(...) ...
    ...
}

Затем я компилирую два блока перевода A.o и B.o с помощью gcc 4.6, а затем связываю их также через gcc. (Возможно с -O3 на оба шага)

Будет ли gcc рассмотреть возможность включения функции для повышения производительности во время соединения? Или уже слишком поздно?

В обзоре кода кто-то предложил, чтобы я не объявлял свои функции как встроенные, так как компилятор знает лучше, чем когда я включаю. Я всегда был под впечатлением, если только функция не определена в заголовке, тогда как компилятор не имеет возможности встроить ее.

(Если ответ отличается для режима C, режима C ++ или режима gnu ++ 0x, укажите это также)

Ответы на вопрос(3)

Ваш ответ на вопрос