gpt4 book ai didi

c++ - 从项目 VS 2015/2017 中删除 math.h

转载 作者:行者123 更新时间:2023-11-28 01:49:45 25 4
gpt4 key购买 nike

所以,我正在做一个项目,我打算在没有 math.h 或 cmath 库帮助的情况下实现我自己的三角函数、平方根、舍入和指数版本,这些库必须使用 Visual Studio 来完成2015 年或 2017 年。我习惯于使用 GCC,当没有明确包含 math.h 或 cmath 时,它们各自的功能没有链接。在我空的、新安装的 Visual Studio 项目中,仅包含 iostream,我似乎获得了使用 sin、cos 和 tangent 函数的能力,以及重复声明函数的错误。从那以后,我在两台计算机上都创建了一个虚拟项目(一台是运行全新安装的 VS2017 的工作计算机,另一台是运行 VS2015 的个人计算机)并删除了所有链接库,但我仍然无法找到删除的方法当我只有

#include <iostream>

int main()
{
float n = sin(3.1415f);
return 0;
};

在我的整个项目中。我不确定如何在不链接到外部文件、重建项目并且没有任何其他包含的情况下访问罪()函数。此外,如果我将文件更改为

#include <iostream>

float sin(float n)
{
return 1.0f;
};

int main()
{
float n = sin(3.1415f);
return 0;
};

它向我展示了 C2382 .无论我的外部依赖项中是否包含其他文件,都会发生这种情况。我将如何去除对 math.h 的包含,同时保持对 printf()、std::cout 和 system("PAUSE") 等基本功能的访问?为了这个项目的目的,就像我在 GCC 环境中一样?

  • 遗憾的是,尽管我一直在命名空间内进行开发以根据标准库检查我的实现,但我并不打算将标准数学函数链接到最终结果。这在 GCC 中很容易完成,但正如我提到的,这个项目必须在 VS 中。

最佳答案

如果您要实现您自己的数学函数版本,那么最好将它们包装到您自己的命名空间中以避免名称冲突。

#include <iostream>

namespace n_my_math
{

float sin(float n)
{
return 1.0f;
}

} // namespace n_my_math

int main()
{
float n = n_my_math::sin(3.1415f);
return 0;
};

关于c++ - 从项目 VS 2015/2017 中删除 math.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43447934/

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