Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
在Windows10中使用C/C++;_C_Windows_Visual Studio Code_Clang_Cs50 - Fatal编程技术网

在Windows10中使用C/C++;

在Windows10中使用C/C++;,c,windows,visual-studio-code,clang,cs50,C,Windows,Visual Studio Code,Clang,Cs50,我目前正在学习C,通过EDX/Harvard参加CS50在线课程。他们让我们在基于云的CS50 IDE/沙盒中使用Clang。他们还没有解释过如何在tho之外使用Clang。因此我想知道;如何在windows 10中设置clang?除了在Windows上与VisualStudio代码一起使用外,Clang不是自给自足的,应该与其他编译器结合使用:MinGW(GCC)或MSVC。Clang将使用该编译器的标准库(以及其他库/头),因为它不附带自己的库/头 如果您想将其与MSVC一起使用并安装,那么

我目前正在学习C,通过EDX/Harvard参加CS50在线课程。他们让我们在基于云的CS50 IDE/沙盒中使用Clang。他们还没有解释过如何在tho之外使用Clang。因此我想知道;如何在windows 10中设置clang?除了在Windows上与VisualStudio代码一起使用外,Clang不是自给自足的,应该与其他编译器结合使用:MinGW(GCC)或MSVC。Clang将使用该编译器的标准库(以及其他库/头),因为它不附带自己的库/头

如果您想将其与MSVC一起使用并安装,那么运行
clang cl
而不是
cl
应该可以

但既然你提到了VSC,我想你不想要MSVC。然后

如果您想将它与MinGW一起使用并安装,请使用
clang--target=x86_64-w64-windows-gnu
而不是
gcc
,而且它也应该可以正常工作。(这是假设您的MinGW生成64位应用程序。如果是32位,请将
x86\u 64
替换为
i686
。)


如果您还没有MinGW,可以从MSYS2获得新版本。然后,您可以选择安装他们的非正式版本的Clang,而不是常规版本,这具有自动使用
--target=x86_64-w64-windows-gnu
的优点(因此您不必手动编写),但也会占用相当多的驱动器空间,过去对我来说有点不稳定。

扩展HolyBlackCat的答案。使用
clang
启动和运行的最简单方法是下载(而不是代码)并在安装过程中选择以下工具集-

  • 选择“使用C++进行桌面开发”
  • 在“使用C++进行桌面开发”下,也选择“C++clang tools for windows”
单击install,您可以通过命令行使用
clang
,就像CS50终端一样。除了cs50教给您的选项外,您通常不必太担心如何使用额外的cmdline选项

使用clang在VS中创建C项目-

  • 创建一个空C++项目(不用担心它只是C++,但是用C编译器工作,C编译器而不是C++编译器)

  • 在项目名称上单击鼠标右键,然后单击“属性”,转到项目属性

  • 在项目常规配置中将平台工具集设置为LLVM-Clang

当然,这并不是一个灵丹妙药,也不能保证在linux上开发时获得相同的体验。但是,如果您是初学者,您很可能不会注意到任何差异,这是在windows上使用C dev的一种快速而简单的方法


还请记住,一旦您按照上述步骤安装了VS+Clang,您也可以用VSCode编写代码(尽管它可能需要一些配置-特别是,您必须将它指向头文件所在的目录),并使用带有
Clang
的终端进行编译。

当然可以!安装编译器也会给你一些如何安装东西的经验。看看这个:。它有一个名为“使用Visual Studio”的部分,对我很有用:)在windows上安装git时,使用powershell而不是cmd。只需使用LLVM和MinGW的更新版本,但MinGW也不提供任何库,它使用MSVC C运行时。而这又不是C标准的最新版本(尽管从学生的角度来看,使用gcc或clang其实并不重要,除非后者被认为具有更好的编译器消息)@Lundin是的,使用MinGW编译的程序通常使用Windows附带的
msvcrt.dll
。但是您还需要C标准库头,它是随MinGW提供的,而不是随Clang提供的。如果OP想要使用C++,它们也需要LIPSTDC + +,这是用MinGW而不是Clang来装运的。MinGW发行版还包括一些其他的库,这些库因发行版而异。Clang似乎附带了一些标题,但它不是自给自足的,而且它本身甚至无法编译hello world。到目前为止,我还没有遇到任何一致性问题
msvcrt.dll
具有不一致的
printf
/
scanf
,但您不必使用它们。有一个标志使MinGW使用它自己的、正确的那些函数的实现(如果它使用MinGW头,同样的东西也适用于Clang)。