Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C程序会在C++;工作空间?_C++_C_Ide - Fatal编程技术网

C++ C程序会在C++;工作空间?

C++ C程序会在C++;工作空间?,c++,c,ide,C++,C,Ide,我是C/C++新手,刚刚下载了CodeLiteIDE(欢迎提供其他免费的建议)。 我打算编写一个C程序,但它只给了我一个创建C++工作区的选项。我可以在这个工作区中写我的C吗?是的,这是可能的。编译主程序时,必须使用C++编译器(例如,静态初始化) 你的C++编译器应该指导链接过程(例如,它可以得到它的特殊库) 你的C和C++编译器可能需要来自同一个供应商,并且有兼容的版本(例如,它们有相同的调用约定< p>不平凡的C程序不会被编译成C++代码而不进行修改——C不是C++的子集。参见< /P>

我是C/C++新手,刚刚下载了CodeLiteIDE(欢迎提供其他免费的建议)。
我打算编写一个C程序,但它只给了我一个创建C++工作区的选项。我可以在这个工作区中写我的C吗?

是的,这是可能的。编译主程序时,必须使用C++编译器(例如,静态初始化) 你的C++编译器应该指导链接过程(例如,它可以得到它的特殊库)
你的C和C++编译器可能需要来自同一个供应商,并且有兼容的版本(例如,它们有相同的调用约定

< p>不平凡的C程序不会被编译成C++代码而不进行修改——C不是C++的子集。参见< /P> 设置编译器选项以将代码视为C

要获得linux上带有IDE的免费编译器,请检查以下内容: 和 对于windows:


您可以找到大量的自由C++和C++编译器列表。

它取决于IDE、编译器(它由IDE编译代码,通常(不总是)不是IDE的一部分),以及您编写的代码类型。 实际上,有很多C++编译器有一个“C模式”,例如命令行开关或其他可以通过IDE配置的设置,如C。你需要阅读编译器和IDE文档。记住,即使在C模式下,编译器也支持C中不有效的C++特性。(反之亦然)

它还取决于你打算写什么样的C代码,以及你对C++的一部分不是C的特性有多了解,反之亦然。 <>但是,一般来说,你可以在C++工作空间中编写C程序。只要注意到上面提到的问题,就可以了。 也不要惊讶,当你自豪地向一个经验丰富的C或C++开发者展示你的一些精心编写的代码时,只需要告诉你编写C和C++的混合体。不幸的是,编写C和C++的混合体被C和C++开发者认为是很差的形式-主要是因为代码很可能与一些编译器和FAI一起工作。太多的编译器供应商在文档中混合C和C++,太多的学习材料(介绍文本等)也一样。如果在适当配置的情况下编写C代码C++环境中,编译器不会抱怨代码的执行,这不是C++环境中C编写所固有的问题。C编译器的太多供应商支持C++特性作为扩展,反之亦然。但是如果你在C++环境中编写C代码,那么这是一种更容易遇到的现象。除非你自己去学习标准C和标准C++之间的区别,而不是编译器和编译器文档。 <>我已经忘记了编写C和C++混合代码的初学者的数量(例如,使用C++特定的特性,同时相信他们正在编写C,反之亦然)。只有当他们用不同的编译器构建(或者更糟的是,编译器的更新)时,他们的代码中断。


<>如果你真的打算编写包含C和C++混合代码的代码(我指的是纯C++函数与纯C++函数的接口,而不是像上面提到的一个混合函数)你需要允许构建过程的编排——特别是链接——由C++设置控制,即使特定文件的编译设置意味着它们被编译成C或C++。99%种情况下,你不会看到差异,至少在你的旅程开始时。谷歌的代码为> CODLITE < /代码>:“CordelTeo是一个免费的、开源的、跨平台的IDE,用于C、C++、PHP和JavaScript(No.js)编程语言。“您错过了一个选项。它可能在安装时出现。这就是我所知道的。