演练:编译 C 程序

Visual Studio 包括可用来创建从基本基本的 C 程序到 windows API 应用程序的 c. 编译器。

此演练演示如何使用文本编辑器创建一个基本的 C 程序,然后在命令行上对其进行编译。

您可以使用自己的 C 程序,而不是键入此演练中所示的示例程序。 也可以使用帮助主题中包含的任何 C 代码示例程序。

默认情况下,Visual C++ 编译器将以 .c 结尾的所有文件视为 C 源代码,将以 .cpp 结尾的所有文件视为 C++ 源代码。 若要强制编译器将所有文件视为 C(而不管文件扩展名如何),请使用 /Tc 编译器选项。

系统必备

您必须了解 C 语言的基础知识。

创建 C 源文件并在命令行上对其进行编译

打开开发人员命令提示。 在 启动 屏幕的 windows 8,在中,选择 VS2012 开发人员命令提示 平铺。 在早期版本中,选择 启动 按钮,展开 所有程序、Microsoft Visual Studio 2012和 Visual Studio 工具,然后选择 VS2012 开发人员命令提示。

基于 windows 的版本在计算机和系统安全配置中,您可能必须打开 VS2012 开发人员命令提示 的快捷菜单中选择 以管理员身份运行 成功生成和运行按这些步骤创建的应用程序。

备注

VS2012 开发人员命令提示 自动设置 C 编译器和所需的任何库的正确路径。应使用它而不是使用普通的"命令提示符"窗口。有关更多信息,请参见为命令行生成设置路径和环境变量。

在命令提示,请创建源文件的目录并使其成为当前工作目录。 例如,键入 md c:\simple 并按 enter 创建名为 Simple 的目录,然后键入 cd c:\simple 并按 enter 更改到该目录。

在命令提示符处,键入 notepad 并按 enter。

在记事本中,输入以下行。

复制代码
#include 
int main()
{
    printf("This is a native C program.\n");
    return 0;
} 

在菜单栏上,依次选择 文件,保存 打开 另存为 对话框。 导航到已创建的内容。 在 文件名 框中,输入一个名称为源文件 (例如,simple.c 和中的 保存类型 然后在下拉列表中,选择 所有文件 (*.*)。 选择 保存 按钮创建 c. 源文件在您的工作目录。

关闭记事本。

在命令提示,请与您的源一起的名称指定 cl 命令文件 (例如,cl simple.c---并按 enter 生成程序。 cl.exe 编译器将生成将源文件的名称的可执行程序,但是,有一个 .exe 文件名扩展名 (例如,Simple.exe。

您可以在编译器显示的多行输出信息中看到可执行程序的名称。

Output

复制代码

x86 copyright (c) Microsoft Corporation 的 Microsoft (r) C/C++ 编译器优化第 17.00.50727.1 版。 保留所有权利。 simple.c Microsoft (r) 增量链接器第 11.00.50727.1 版 copyright (c) Microsoft Corporation。 保留所有权利。 /out:simple.exe simple.obj

若要查看文件列表中工作目录中,键入 dir 并按 enter。

.obj 文件是可忽略的中间格式文件。

若要运行程序,键入其名称,不带文件扩展名 (例如,simple---并按 enter。

程序显示此文本然后退出:

This is a native C program.

若要关闭命令提示符窗口,键入 exit 并按 enter。

后续步骤

上一部分:演练:在命令行上编译本机 C++ 程序 (C++) |下一部分: 演练:在 Visual Studio 中编译面向 CLR 的 C++ 程序 (C++)

请参见任务

Walkthrough: Creating a Win32 Console Program (C++)

参考

C语言参考

其他资源

Building C/C++ Programs

兼容性

相关推荐
李游Leo1 天前
Node.js 开发环境安装与 npm/pnpm 国内镜像配置(Windows / macOS / Linux)
npm·node.js·pnpm·前端开发·开发环境
_YouziTech_4 天前
VS Code环境下LVGL模拟器的配置与运行
visualstudio·mingw·cmake·lvgl·vs code·模拟器·sdl2
Akir.weiwen4 天前
③ 约束显化:把隐含的语义假设变成显式规则
人工智能·编译·设计规范·语义
执子星海5 天前
Registry Win32 API详解
c++·windows·microsoft·visualstudio·微软
2601_962381585 天前
VSCode如何配置LlamaIndex RAG(检索增强生成)应用开发环境
vscode·开发环境·rag·llamaindex·检索增强生成
Lyra_Infra7 天前
MySQL Docker 误删恢复:binlog PITR
mysql·docker·命令行
深念Y7 天前
Makefile vs go run:Go 项目构建方式对比
java·开发语言·golang·k8s·编译·流水线·cicd
淡海水9 天前
04-02-哈希-Dictionary-TKey-TValue-上-核心数据结构
数据结构·算法·c#·哈希算法·编译·字典·dictionary
淡海水10 天前
03-05-线性-Array-List-LinkedList与Span-所有权与成本模型选型
c#·list·编译·array·clr·机器码
滨哥GPT11 天前
Codex修改环境变量后项目还是报错怎么办?.env、配置加载与运行环境排查
docker·ai编程·环境变量·开发环境·codex·env