在命令行中编译并运行 C++ 程序

--阅读《 C++ primer》读书笔记

很多初学者写完第一个 C++ 程序后,不知道如何在命令行中编译并运行。博主学了c++一年多了,一直都在IDE中开发,今天偶然学习到用命令行的方式,逐步编译运行代码,这也是为了马上要学习的Linux打点基础吧!

本文将以 Windows 系统 为例,介绍从创建文件到编译运行的完整流程,并简要说明 clg++ 两种编译器的用法。


1. 创建并编辑源文件

首先,打开命令行窗口(cmd 或 PowerShell),切换到目标文件夹,例如:

cd C:\hello

接着,使用记事本创建并编辑一个源文件:

notepad hello.cpp

执行后会弹出记事本,输入你的 C++ 代码并保存。


2. 使用 MSVC 编译器(cl)

如果你安装了 Visual Studio 的开发者工具(自带 MSVC 编译器),可以直接在命令行中使用 cl 命令进行编译。

语法如下:

cl /EHsc hello.cpp

编译完成后,会在当前目录下生成:

  • 一个 .obj 文件(目标文件)
  • 一个 .exe 文件(可执行程序)

此时只需运行 exe 文件即可:

hello.exe

易错点:

C:\hello>cl /EHsc hello.cpp 'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

当你编译时报错,这是因为c1.exe 并不是用户直接调用的编译器命令,它是 MSVC 编译器(cl.exe)底层调用的一个编译器内核程序。所以需要打开vs的命令行窗口(如图红箭头),当然,要是直接想在cmd中编译以及运行,可以看看第二种方法。

3. 使用 GNU 编译器(g++)

如果你安装了 MinGW 或其他支持 Windows 的 GNU 编译器,也可以使用 g++ 来编译。

检测是否按照gcc的命令:

gcc --version

编译语法如下:

g++ hello.cpp -o hello

这里:

  • hello.cpp 是源文件
  • -o hello 表示输出一个名为 hello.exe 的可执行文件

编译成功后,运行:

hello.exe

即可看到程序的输出。


4. 小结

  • Windows 下clg++ 都能编译 C++ 程序,最终得到的是 .exe 文件。
  • Linux / macOS 下,使用 g++ 编译时默认生成 a.out,运行时需要输入 ./a.out,或者通过 -o 参数指定输出文件名。

Read more

IDEA 中的 AI 编程插件怎么选?Copilot / 灵码 / TRAE 实际使用对比

IDEA 中的 AI 编程插件怎么选?Copilot / 灵码 / TRAE 实际使用对比

# 【不吹不黑】Java 开发者真实体验:IDEA 三大 AI 编程插件深度对比(Copilot / TRAE / 灵码) > 本文是一篇**技术交流与使用体验记录**,仅用于分享 Java 开发过程中使用 AI 插件的真实感受与效率提升方式,不涉及任何商业推广或广告行为。 *** ## 一、写在前面:为什么要写这篇文章 过去一年,大模型能力的跃迁,直接改变了开发者的工作方式。**AI 已经不再是“写 Demo 的玩具”,而是逐渐演变为 IDE 中的“第二大脑”** 。 本文的目的非常明确: *   记录一名 **Java 后端开发者** 在真实项目中使用 AI 插件的体验 *   对比不同插件在 **补全、对话、Agent 工作流** 等方面的差异 *   帮助开发者根据自身场景选择合适的工具,而不是盲目跟风 本文所有结论,

By Ne0inhk

01 - 大模型推理框架选型入门:Ollama、llama.cpp与vLLM全景对比

01 - 大模型推理框架选型入门:Ollama、llama.cpp与vLLM全景对比 本文是《大模型推理框架深度解析》系列的第一篇,适合刚接触LLM部署的开发者阅读。 写在前面 随着大语言模型(LLM)的广泛应用,如何将模型高效地部署到生产环境成为每个AI工程师必须面对的问题。目前市面上主流的推理框架有Ollama、llama.cpp和vLLM,但它们的技术定位、适用场景差异巨大。 很多开发者在选型时容易陷入误区: * 用Ollama部署高并发API服务,结果吞吐量上不去 * 用vLLM跑边缘设备,发现资源占用过高 * 混淆llama.cpp和vLLM的定位,不知道何时该用哪个 本文将从架构分层视角出发,帮你建立清晰的选型认知。 一、三大框架的技术定位 1.1 三层架构视角 如果把LLM推理技术栈比作一座大厦,三个框架分别位于不同的楼层: ┌─────────────────────────────────────────────────────────────┐ │ 应用层(第3层) │ │ ┌─────────────┐ │ │ │ Ollama │

By Ne0inhk

从零搭建AI运维系统,MCP AI Copilot实操全流程详解

第一章:MCP AI Copilot 架构概览 MCP AI Copilot 是一个面向企业级 DevOps 场景的智能辅助系统,旨在通过大模型驱动的方式提升开发、运维与安全响应的自动化水平。其架构设计强调模块化、可扩展性与实时交互能力,核心由感知层、决策引擎、执行总线与反馈闭环四大组件构成。 核心组件构成 * 感知层:负责从 CI/CD 流水线、日志系统、监控平台等数据源采集上下文信息 * 决策引擎:集成大语言模型与规则推理模块,对输入请求进行意图识别与策略生成 * 执行总线:协调调用底层工具链(如 Kubernetes API、Ansible、Terraform)完成具体操作 * 反馈闭环:记录执行结果并用于模型微调,形成持续优化的学习机制 通信协议配置示例 // config.go - MCP AI Copilot 服务间通信配置 type ServiceConfig

By Ne0inhk
基于STM32的普通GPIO模拟串口UART(代码开源)

基于STM32的普通GPIO模拟串口UART(代码开源)

前言:本文为手把手教学的基于 STM32 的普通 GPIO 模拟串口 UART 教程,使用 STM32F103ZET6 作为核心 MCU 进行操作。串口 UART 这项外设可以说是嵌入式工程师日常项目研发过程中百分百可能使用到的外设,但很多情况下 MCU 的硬件 UART 受限亦或是 GPIO 引脚被占用导致无法正常使用硬件 URAT 进行打印调试代码 。软件 UART 在这时就起到了至关重要的作用,作者将在本篇博客中提供本人日常使用且方便移植的软件 UART 代码。希望这篇博文能给读者朋友的工程项目给予些许帮助,Respect(代码开源)! 硬件与软件:STM32F103ZET6、CH340、WCH COMTransmit 项目结果图: 一、串口 UART 概述 1.1 什么是串口 UART(Universal Asynchronous

By Ne0inhk