У меня есть пространство имен с встроенной функцией, которая будет использоваться, если несколько исходных файлов. При попытке связать мое приложение встроенная функция отображается как повторяющиеся символы. Кажется, что мой код просто не встраивал функции, и мне было интересно, является ли это ожидаемым поведением и как лучше всего с ним справиться.
Я использую следующие параметры gcc: -g -Wextra -pedantic -Wmissing-field-initializers -Wredundant-decls -Wfloat-equal -Wno-reorder -Wno-long-long Тот же стиль кода, похоже, компилируется и правильно связывается при сборке в среде VC7.
В следующем примере кода показана структура кода:
/* header.h */
namespace myNamespace {
inline bool myFunction() {return true;}
}
/* use_1.cpp */
#include "header.h"
...
bool OK = myNamespace::myFunction();
...
/* use_2.cpp */
#include "header.h"
...
bool OK = myNamespace::myFunction();
...