Вот класс из движка Google V8 Javascript. Это dllexport
, но все функции полностью определены в заголовочном файле. Допустим ли dllexport
класс в C ++, когда все функции определены в заголовке? Я предполагаю, что класс не будет определен ни в одном модуле компиляции и не будет в конечном итоге экспортирован изDLL.
Может иметь значение, что этот конкретный класс является вложенным классом в другом классе, v8::Isolate
.
Мои платформы, на случай, если это уместнона этот вопрос Windows 10 / MSVC ++ 2017 и Ubuntu 18.04 / GCC.
/**
* Stack-allocated class which sets the isolate for all operations
* executed within a local scope.
*/
class V8_EXPORT Scope {
public:
explicit Scope(Isolate* isolate) : isolate_(isolate) {
isolate->Enter();
}
~Scope() { isolate_->Exit(); }
// Prevent copying of Scope objects.
Scope(const Scope&) = delete;
Scope& operator=(const Scope&) = delete;
private:
Isolate* const isolate_;
};