gpt4 book ai didi

c++ - 卡在遗留 C++ IO 库和标准化 IO 库之间

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:36 26 4
gpt4 key购买 nike

我的问题是在挫折之后,其实我最近研究了标准的C++ IO库。我在 Linux 机器上开发,所以一切都很好。由于我对文件 io (file.exceptions(flags))) 使用了异常处理,旧版本的 GNU C++ 编译器不支持它。实际的部署机器有很旧的 g++ 版本,可能是 2.9x 左右。我正在编写一个数据记录器应用程序,因为我写了很多依赖于 try-catch 对的代码。我现在应该怎么办。我尝试声明一个从 std::exception 继承的异常。有用。将 fstream 包装在头文件中是个好主意吗?如果是,我应该怎么做,比如继承,还是只是包装?

最佳答案

既然您已经在使用 linux 和 gcc,开始使用 GNU 自动工具可能是个好主意。解决此类可移植性问题是 autotools 的核心目的之一。

autotools 将生成一个名为 config.h 的文件,其中包含一组 #defines,指示您的环境中是否存在某些功能。 (在这种情况下,AC_CXX_EXCEPTIONS 可能是您想要的检查。)然后,只要配置脚本发现它们不是必需的。

第一次使用 autotools 的学习曲线有点僵硬,但这是一次性的时间成本。它们将使您 future 着手的每个项目都更容易设置。您还需要检查您的目标机器是否支持 autotools,如果支持,则支持哪个版本的工具。

关于c++ - 卡在遗留 C++ IO 库和标准化 IO 库之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879393/

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