混合C和C++;特拉维西项目 我有一个使用C和C++代码混合的项目,但是目前只能在特拉维斯.yl 文件> < /p>中指定一个语言>代码> 这种情况下,我应该使用语言:C++ >代码>语言:CPP 还是其他什么?< P>混合C和C++代码

混合C和C++;特拉维西项目 我有一个使用C和C++代码混合的项目,但是目前只能在特拉维斯.yl 文件> < /p>中指定一个语言>代码> 这种情况下,我应该使用语言:C++ >代码>语言:CPP 还是其他什么?< P>混合C和C++代码,c++,c,travis-ci,C++,C,Travis Ci,混合C和C++;特拉维西项目 我有一个使用C和C++代码混合的项目,但是目前只能在特拉维斯.yl 文件> < /p>中指定一个语言>代码> 这种情况下,我应该使用语言:C++ >代码>语言:CPP 还是其他什么?< P>混合C和C++代码时,你可以在实践中使用 CPP < /Cord>语言键。这仍然会安装C编译器;事实上,支持的C和C++编译器是GCC/G++和CLAN[++],它们有一个共同的实现。 代码> CPP键,除了C代码+ CXXX > C++之外,还设置了 Cc>

混合C和C++;特拉维西项目

我有一个使用C和C++代码混合的项目,但是目前只能在<代码>特拉维斯.yl 文件> < /p>中指定一个<代码>语言>代码>


这种情况下,我应该使用<代码>语言:C++ <代码> >代码>语言:CPP 还是其他什么?

< P>混合C和C++代码时,你可以在实践中使用<代码> CPP < /Cord>语言键。这仍然会安装C编译器;事实上,支持的C和C++编译器是GCC/G++和CLAN[++],它们有一个共同的实现。 <>代码> CPP键,除了C代码+ CXXX <代码> > C++之外,还设置了 Cc>/Cudio>环境变量,并且与C++代码<>代码>相比,提供了超集功能。


默认的脚本>代码>是两种语言的代码> /配置和&制作测试< /代码>,所以这是常见的。< / P>你的C代码可以在C++模式下编译吗?@ TADMAN。你的意思是可以通过调用C++编译器,比如<代码> G++<代码>来编译<代码> >代码>文件吗?不,他们肯定只使用C语言的特性,比如VLA和指定的初始值设定项,或者其他什么。一个只接受用一种语言编写的文件的构建服务器?除了业余爱好编程,这听上去毫无用处。然而,许多大公司都在使用它。我想知道他们是如何绕过这个限制的——也许是通过将他们的项目分解成模块类型的东西。既然Travis CI只使用了一个

Makefile
,你就不能用它来正确地编译东西吗?
语言
提示通常是使用什么构建方法的关键,其中
c
cpp
可能都基于通常的
/configure&&make&&make test
方法。@tadman-是的,我逐渐得出结论,
cpp
标记仍然被设置为以与
C
标记相同的方式处理C编译(反之不成立),因此这可能就是这里要使用的标记(添加了一个答案)。