gpt4 book ai didi

c++ - 在 C++ 中定义错误代码常量的位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:22:06 25 4
gpt4 key购买 nike

我已经从 C++ DLL 中导出了一个方法,然后从 VB.net 表单应用程序中调用它。 C++方法目前没有返回值(void),但我想改进它,返回一个代表一系列错误代码的int。 (如果一切顺利,我计划返回零。)

在哪里以及如何定义这些错误代码的最佳位置?

我应该在 CPP 文件的顶部执行以下操作吗:

#define ERR_NEGATIVE_CELL_SIZE 1
#define ERR_INVALID_FILE_PATH 2
etc

VB.net 应用程序也将定义这些相同的代码,然后根据代码向用户显示 UI 消息。

显然我更愿意在 DLL 中抛出异常并在 VB.net 中捕获它(连同相关的异常消息),但这似乎无法使用 extern "C"__declspec(dllexport) 方法.

很高兴听到替代设计模式。我还计划通过 C++ 控制台可执行文件公开 DLL 方法,因此将错误消息存储在 DLL 中一次并让它们可用于控制台和 UI 应用程序是理想的。

最佳答案

如果您希望错误代码对其他编译单元可用,那么最好将它们放在头文件中。通常在编写库代码时,您会创建一个或多个头文件来声明使用该库所需的所有常量、类型、函数和类。然后将这些实现编译到库中。库的使用者包括您的 header 和导入库。

关于您的常量,您建议使用 #define 来声明它们。不要那样做。考虑使用常量或枚举。预处理器通常是尽可能少用的东西。

关于c++ - 在 C++ 中定义错误代码常量的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22795125/

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