3

就像标题中一样 - 如何在 Visual Studio 2012 中创建单个 ANSI C 源文件?我在 file->new file 选项中没有看到任何合适的 ansi c 文件选择。

还有一件事 - 有没有编译和运行的捷径?

4

4 回答 4

5

没有直接的方法可以做你想做的事(即使在旧的 Visual Studio 版本中)。C++ 源文件通常具有相同的目的,但使用纯 C 文件当然是有正当理由的。不用担心,我什至不会争论,因为我仍然必须维护几个 C 代码库,这是有充分理由的(尽管并非在所有地方都出于相同的原因)。

例如,如果您确实需要多次执行此操作并且无法使用某些工具从现有源文件构建项目,则可以这样做:

  1. 以管理员身份打开文件管理器(特权用户)
  2. 在文件夹C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcprojectitems中获取现有newc++file.cpp的副本并命名副本newcfile.c(您也可以自定义此“骨架文件”)。
  3. 现在找到文件并添加我在下面列出的行NewItems.vsdirC:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\VCNewItems
  4. 启动/重新启动 Visual Studio,您应该会在 Visual C++ 类别下看到它

完毕。

..\VCProjectItems\NewCFile.c|{1B027A40-8F43-11D0-8D11-00A0C91BC942}|C files (.c)|10|Creates a file containing C source code|{1B027A40-8F43-11D0-8D11-00A0C91BC942}|9031|4096|#1077

笔记:

  • 您仍然会看到带有 的图标++,但那是化妆品。它必须是#<number>定义它的资源标识符之一。
  • GUID 指向包含资源的二进制文件。如果您不需要它们,据我所知,将字段留空(但必须是一个空格)是合法的。GUID,您填写 find(注册表搜索)指向.\VC\vcpackages\vcpkg.dll...,因此您可能可以浏览那里的资源,如果您愿意,可以找到更合适的东西。
  • 原来 9031 也是一个资源 ID。这些项目可能#<number>特别指的是字符串资源。您可以选择 9033 作为您的图标(更中性)。IconsExt可以帮助找到合适的资源。
  • 显然,您可能需要调整路径名,具体取决于您的语言环境。
于 2012-11-15T14:16:45.643 回答
1

创建一个 C++ 文件,然后给它一个 .c 扩展名。在至少某些版本的 MSVC 编译器的 Windows 上,这将导致它使用 C 编译。

这是 ANSI C 的某个版本——你不会得到过去十年左右现代 C 实现的任何细节。

坦率地说,我会使用 C++ 和 C99 的任何子集,你可以使用,并使用 C++ 编译器。

于 2012-11-15T13:56:38.827 回答
1

您可以在创建 C 源文件之前构建一个项目,这似乎是 MSVS 系列的惯例。希望对您有所帮助。

于 2012-11-15T13:52:34.523 回答
0

MS Support 链接包含对您的问题有用的信息;不幸的是,我不确定这是否适用于新的 VS 2012。

让我知道这是否解决了!再见!

于 2012-11-15T13:56:26.660 回答