如何使用C ++概念(“精简概念”)构建gcc?

迪特玛·库尔(DietmarKühl)

C ++标准委员会正在研究用于概念扩展的TS(技术规范):“编程语言-概念的C ++扩展”。N4377是本文档的最新版本。为了包含在C ++标准中,要求实现功能,理想情况下是可公开访问的系统。

我知道concept-gcc,但是上面的概念提议(俗称Concepts Lite)是不同的。我听说这里有一个Concepts分支,我已经尝试了origin/asutton/c++-conceptsgccgit镜像,但是没有编译。如何构建和使用上述[草稿] TS中指定的gcc支持概念版本?

迪特玛·库尔(DietmarKühl)

根据安德鲁·萨顿(Andrew Sutton)的说法,Concepts Lite Lite的git镜像完全过时了,不应该使用。在svn资源库中有一个用于GCC实现“ concepts-lite”的概念分支(在C ++ 11之前曾有过将概念添加到C ++的工作,但被放弃了;开始使用名称将新概念添加到C ++的新工作是精简版)。进行构建非常简单(假设您已经安装了最新的gcc及其依赖的软件包;请参阅gcc安装说明以获取您可能希望通过的其他选项:以下说明对我有用,除了我明确指出configure了其中位置GMPMPCMPFR安装):

cd <suitable-directory>
svn checkout svn://gcc.gnu.org/svn/gcc/branches/c++-concepts
mkdir build-concepts
cd build-concepts
../c++-concepts/configure --prefix=<concept-gcc-root> --disable-bootstrap --enable-languages=c,c++
make -j8
make install

尚不完全清楚的是如何实际使用概念:该选项-fconcepts确实存在,但似乎无条件地执行了与启用Lite-Lite不同的操作。而是-std=c++1z在启用概念的情况下进行编译时使用该选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

精简概念将如何与通用引用互动?

来自分类Dev

使用GCC 6.1检测概念TS

来自分类Dev

C ++概念:如何使用“概念”检查模板化结构的属性?

来自分类Dev

C ++:如何组合多个概念?

来自分类Dev

使用c ++ 20概念和模板化类的奇怪的GCC(树干)行为:是Bug还是功能?

来自分类Dev

实现与C ++ 20概念配对的概念

来自分类Dev

C ++中的“ Nil”的概念

来自分类Dev

C程序概念

来自分类Dev

数组上的C概念

来自分类Dev

CLion对C ++概念的支持

来自分类Dev

C ++ 20中的概念

来自分类Dev

多维矢量概念C ++

来自分类Dev

C ++中的重载概念

来自分类Dev

概念难度c ++纸牌

来自分类Dev

C指针概念

来自分类Dev

如何将C ++概念与type_traits配合使用?

来自分类Dev

当涉及c ++ 20概念时,gcc和clang之间的行为不一致

来自分类Dev

C ++ 20概念:MSVC的行外定义失败,但在GCC或clang中不行

来自分类Dev

春季如何使用自动装配概念?

来自分类Dev

我如何使用 BOOST BinaryFunction 概念?

来自分类Dev

如何在 if-constexpr 中使用概念?

来自分类Dev

在c ++ 20概念中使用clang格式

来自分类Dev

如何清除封装数据的概念?

来自分类Dev

C#EXAM概念指导

来自分类Dev

C ++中内存重用的概念

来自分类Dev

C#中的线程概念

来自分类Dev

C#概念拆箱

来自分类Dev

自引用C ++ 20概念

来自分类Dev

简单的C ++概念接口示例