gpt4 book ai didi

c++ - 在 DLL 中导出的 C++ 函数中使用 #ifdef block

转载 作者:太空宇宙 更新时间:2023-11-04 11:27:24 24 4
gpt4 key购买 nike

我正在尝试在导出到 DLL 的函数中使用 #ifdef 开关

我遇到的问题是我的 .EXE 项目无法更改 ifdef 定义。就像它们被预编译到 DLL 中一样,无法更改。它是否正确?我不能在导出到 DLL 的 C++ 函数中使用 #ifdef。

例子:

void API func()
{
#ifdef I_WANT_THIS
cout << "I want this" << endl;
#else
cout << "I dont want this" << endl;
#endif
}

如果我在构建 DLL 时未定义任何内容,然后在我尝试定义的 .EXE 项目中,I_WANT_THIS它实际上不适用于库中链接的 cpp 目标文件。我认为这是应该的,但我觉得我应该能够做到这一点......

最佳答案

您需要使此类功能在运行时可切换。 DLL 是经过编译的代码,并且在构建它们时已经执行了任何类似的预处理。

关于c++ - 在 DLL 中导出的 C++ 函数中使用 #ifdef block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152247/

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