declspec相关内容

如何从监视列表中隐藏一些类公共属性?

我仍然在使用BDS 2006(Turbo Explorer C++),升级仍然不是一个选项。我有一个问题,在调试一些更高级的模板/类时,这些模板/类包含以下属性: __declspec( property (get=???, put=???) ) ??? ???; 作为成员变量处理,使监视列表和调试器在它们太多时变得疯狂。结果是在断点和跟踪期间大大减慢,并且当此类类在监视列表中时,IDE ..
发布时间:2022-07-19 18:22:30 C/C++开发

在 MinGW 与 MSVS 下的 Windos 导出/导入符号;CMake 的 WINDOWS_EXPORT_ALL_SYMBOLS 被忽略

要使用 Visual Studio 构建 C 库,请使用 CMake 命令 set(WINDOWS_EXPORT_ALL_SYMBOLS ON) 使我免于在函数声明前添加 __declspec(dllexport) 或 __declspec(dllimport);只有全局变量需要显式导入/导出符号. 在 MinGW 下(阅读:MinGW 或其推荐的替代品 Mingw-w64)这不起作用. ..
发布时间:2021-09-25 20:25:22 其他开发

VC ++ 2008/2010:throw()或__declspec(nothrow)是更好的选择吗?

在使用VC ++ 2008和2010时,最好使用哪个标记来表示函数不会引发异常: throw()(C ++标准) __declspec(nothrow)(MS扩展名) 我阅读了一些较早的论坛讨论,其中一些人说使用throw()可能实际上会迫使编译器生成其他代码来捕获异常,以防函数抛出异常(针对标记).他们的建议不是使用throw(),而是使用__declspec(nothrow),因 ..
发布时间:2020-11-01 21:50:36 其他开发

用DLL链接静态库的正确方法

我的项目通过几个静态库构建,这些静态库应该链接到主dll库,从而获得一个单独的dll。 使用 __ declspec(dllexport )属性不会导致将静态库的指定功能显示为dll,而根本没有与dll链接的库。 然后,我尝试构建每个共享库,以获取导出函数的正确名称,并基于它们创建.def文件。使用.def文件导致结果。 应该 __ declspec(dllexport)和 .d ..
发布时间:2020-10-24 01:29:48 C/C++开发

使用dllimport代替dllexport

在构建dll时,我似乎可以互换使用 __ declspec(dllexport)和 __ declspec(dllimport)在Visual Studio 2015中。在制作DLL时,我会想到需要 dllexport 命令,但似乎 dllexport 或 dllimport 就足够了。我有以下头文件声明了一个简单的add()函数: add .h #pragma一次 #ifde ..
发布时间:2020-10-24 01:24:44 C/C++开发

Windows和Linux上的C ++ [[gnu :: visibility("default")]]与__declspec(dllexport)

我需要用C ++创建一些共享库,并且我使用linux作为我的开发人员操作系统.我知道如果要通过dlsym/LoadLibrary加载符号,则需要使符号可见.因此,在Linux中,我所有的符号都遵循以下模式: extern "C" [[gnu::visibility("default")]] void f(); 我使用启用了C ++ 11的clang,并且能够在主机程序中加载f.当我移到W ..
发布时间:2020-09-13 20:30:41 C/C++开发

__declspec(dllexort):: vector< std :: string>

我一直在努力工作,如何从一个c ++ dll返回一个字符串数组到ac#应用程序,但坚持如何做到这一点或找到一个非常基本的文章。 假设我有下面的代码。如何修改粗体线: extern“C”{ __declspec(dllexport)int GetANumber //不确定这行: ** __ declspec(dllexport):: vector ..
发布时间:2016-10-23 19:56:05 C#/.NET

__declspec(dllexport)的::矢量<标准::字符串>

我一直在试图找出如何从C ++ DLL到C#应用程序返回一个字符串数组,但我被困在如何做到这一点,或找到一个非常基本的水平的文章。 假设我有下面的代码。如何解决粗体显示的行: 的extern“C”{ __declspec(dllexport)的INT GetANumber(); //不确定在这条线: ** __ declspec(dllexport)的::矢量 ..
发布时间:2016-09-28 12:58:38 C#/.NET