给定以下命名空间,我在哪里放置我的declspec(用于dll导出)我想将所述命名空间中的所有方法导出到DLL中?
namespace AguiText {
void drawTextArea(AguiGraphicsManager *g, const AguiFont &font,const AguiRectangle &area,
const AguiColor &color, const std::vector<std::string> &lines,
AguiHorizontalAlignmentEnum horizontalAlignment, AguiVerticalAlignmentEnum verticalAlignment);
void divideText(std::vector<std::string> &words,
const std::string &text,const AguiFont &font, int maxWidth = -1);
void makeTextLines(const AguiFont &font,const std::vector<std::string> &words,
std::vector<std::string> &lineWords, int maxWidth );
void pointInTextArea(const AguiFont &font,
const AguiRectangle &area, const AguiPoint &point,
const std::vector<std::string> &lines, AguiRectangle &retRect,
int &retIndex, AguiHorizontalAlignmentEnum horizontalAlignment, AguiVerticalAlignmentEnum verticalAlignment);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 7
无需导出命名空间.从编译代码的角度来看,名称空间是没有意义的.您不能在代码中引用它们,它们只是定义范围.
在名称修改过程中,命名空间最终成为类/函数名称的一部分.一旦编译了源文件,它们就不是单独的实体.
如果要导出命名空间的内容,则需要导出这些实体,而不是命名空间本身.