C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – g:使用ZIP文件作为输入大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们的Boost图书馆在我们身边.它由大量文件组成,永远不会改变,只有一小部分被使用.如果我们正在更改版本,我们将交换整个boost目录.目前,我们的SVN中有Boost源,按文件格式,使得结帐操作非常缓慢,特别是在 Windows上.

如果有一个符号/插件解决ZIP文件中的C文件,这将是很好的,像:

// @ZIPFS ASSIGN 'boost' 'boost.zip/boost'
#include <boost/smart_ptr/shared_ptr.hpp>

是否有任何支持编译器钩在g?对ZIP支持有什么努力吗?其他想法?

解决方法

我假设在构建软件的过程中涉及到make或类似的构建系统.我将zip文件放在存储库中,并将一个规则添加到Makefile中以在实际构建开始之前解压缩.

例如,假设你的zip文件在源代码树中是“external / boost.zip”,它将提取到“external / boost”,并且它的大小包含一个文件“boost_version.h”.

# external/Makefile
unpack_boost: boost/boost_version.h

boost/boost_version.h: boost.zip
    unzip $<

我不知道解压缩调用的确切语法,请询问您的手册页.

然后在其他Makefile中,您可以让源文件依赖于unpack_boost目标,以便在编译源文件之前进行解压缩Boost.

# src/Makefile (excerpt)
unpack_boost:
    make -C ../external unpack_boost

source_file.cpp: unpack_boost

如果您使用的是Makefile生成器(或完全不同的构建系统),请查看这些程序的文档,了解如何创建自定义目标unpack_boost.例如,在CMake中,可以使用add_custom_command指令.

精细的打印:Makefile工作不是必须的boost / boost_version.h文件.您可以将unzip命令放入unpack_boost目标中,但是目标将有效地成为假的,即:它将在每次构建期间执行.其中的文件(当然,您需要由zip存档中实际存在的文件替换)确保只有在必要时才能运行解压缩.

大佬总结

以上是大佬教程为你收集整理的c – g:使用ZIP文件作为输入全部内容,希望文章能够帮你解决c – g:使用ZIP文件作为输入所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。