gpt4 book ai didi

c++ - GCC (ARM) 相当于 __declspec(dllexport)

转载 作者:可可西里 更新时间:2023-11-01 18:29:46 26 4
gpt4 key购买 nike

为 x86 构建应用程序时,以下代码可以正常工作:

#if   defined _WIN32
#define LIB_PRE __declspec(dllexport)
#elif defined __unix__
#define LIB_PRE
#else
#define LIB_PRE __declspec(dllexport)
#endif

但是对于 GCC (ARM) 给出了一个错误。我发现 __declspec(dllexport) 不会在 GCC 上工作。如果是这样,我应该为 GCC (ARM) 使用什么?

编辑:

它在许多类(class)中都有使用。例如:

class CJsonValueString : public CJsonValue
{
private:
jstring value;
public:
LIB_PRE CJsonValueString(jstring value);
LIB_PRE CJsonValueString(const CJsonValueString * value);
LIB_PRE jstring ToString() const;
LIB_PRE int ToInt() const;
LIB_PRE int64 ToInt64 () const;
LIB_PRE float ToFloat () const;
LIB_PRE void GetValue(jstring & str) const;
};

最佳答案

基本上,您可能不需要任何特别的东西。但是,如果您愿意(并且如果处理共享对象,即 *.so 文件),请了解有关 visibility pragmas 的更多信息和知名度 function attributes

而且这个问题更多的是针对特定的目标操作系统,而不是特定于目标机器的。 (我想,运行一些晦涩的 Windows8/ARM 系统的 ARM 也需要您的 __declspec;相反,您的 __declspec 在 Linux/x86 上没有任何意义)。

关于c++ - GCC (ARM) 相当于 __declspec(dllexport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com