惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Cloudbric
Cloudbric
C
CERT Recently Published Vulnerability Notes
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
C
Cisco Blogs
T
Tenable Blog
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
I
Intezer
AWS News Blog
AWS News Blog
IT之家
IT之家
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 【当耐特】
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Spread Privacy
Spread Privacy
S
SegmentFault 最新的问题
博客园 - Franky
人人都是产品经理
人人都是产品经理
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Visual Studio Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Hacker News: Front Page
Latest news
Latest news
Scott Helme
Scott Helme
腾讯CDC
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
Arctic Wolf
S
Securelist
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
Project Zero
Project Zero
Google DeepMind News
Google DeepMind News
P
Palo Alto Networks Blog
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Security Archives - TechRepublic
Security Archives - TechRepublic
The Last Watchdog
The Last Watchdog
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 最新话题
S
Schneier on Security
NISL@THU
NISL@THU
Jina AI
Jina AI
M
MIT News - Artificial intelligence

卷卷

今日说法 节目汇总笔记 《斯坦福大学人生设计课》读书笔记 我的书单📖 H-worm (VBS蠕虫) 感染事件溯源分析报告 AMOS (Atomic Stealer) 恶意软件深度分析 银狐26年全面复活,对抗强度或已超25年最高水平 Atomic Stealer (AMOS) 回归:ClickFix、伪装加密货币应用与新型 macOS 持久化机制 关于xt.exe的分析报告 仿真钓鱼页面窃取用户凭证 GitHub Pages配置Cloudflare CDN踩坑之路 推荐RSS热力图和Github热力图使用指南 学习逆向工程相关概念 zabbix快速上手 学习python高级语法特性例题笔记 学习云计算基本理论学习笔记 学习Docker-Compose命令及镜像构建与推送 ATT &CK 框架实践阅读笔记 rundll32.exe恶意加载DLL文件外联 《悉达多》读书笔记 《稀缺》读书笔记 《认知觉醒》读书笔记 《营养学》读书笔记 《心理学》读书笔记 热💖生活 IDA Free调试Hello World笔记 逆向免杀 Admin.canway账号命名方式 BAS - Breach and Attack Simulation Windows核心系统进程链与svchost深度解析 企业测试环境的弱口令需要整改吗 AI对话笔记-模板 网络安全行业招聘需求与技术能力分析 银狐木马技术原理分析与检测技术 SIEM-安全信息和事件管理 AI笔记 转载 专业备考⏳ 其他杂项🧶 Markdown 原生图片 知道创宇技能表 Prompt越狱手册 deepseek使用指南 清华大学 deepseek提问方法 markdown基本语法 数据湖:它们是什么?为什么您的组织需要一个? GitHub Codespaces velociraptor(迅猛龙)快速上手 学习windows快捷命令 学习常用 150 个Linux命令 软考中的一些概念 学习ssh基本使用 Linux系统换源输入法和包管理器 DC-8靶机 Metasploitable3下载与安装 信息收集方法及流程 防守之道 开发运维 免责声明 密码喷射攻击:防范攻击你需要知道的事项 密码学中的哈希解释:它的工作原理、算法和实际用途 应急响应术语 各种报错积累 漏洞挖掘思路 收藏夹 RDP和360星图使用 windows入侵排查 Linux入侵排查 Redis日志分析 Linux安全加固 windows安全加固 windows日志ID速查 中间件加固 数据库安全加固 windows系统提权 MySQL注入复盘 学习git版本控制工具的概念与命令 学习Web Shell 学习Linux命令 java环境配置 学习python基础语法特性解题笔记 学习Mysql基础知识 windows权限维持 学习网络及安全的一些术语 PHP代码审计 Linux系统提权 MSSQL注入复盘 Linux权限维持 命令执行和反序列化 逻辑漏洞 upload-labs 框架漏洞 学习PHP语法特性 XXE&SSRF CSRF 文件上传 Google Hacking XSS-lab XSS实验 学习URL请求后的通信过程 FOFA
C++开发环境配置与程序运行笔记
卷卷 · 2025-12-26 · via 卷卷

一、完整配置步骤

1. 安装开发工具包

  • 推荐工具包:w64devkit(轻量级、无需安装)
  • 下载地址GitHub releases
  • 版本选择:选择x86_64版本(适合64位Windows系统)
  • 安装方法:解压到任意目录,如C:\Program Files\w64devkit

2. 配置系统环境变量

步骤:

  1. 打开环境变量设置

    • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    • 或使用快捷键:Win + X →「系统」→「高级系统设置」→「环境变量」
  2. 编辑系统变量Path

    • 在「系统变量」中找到并选中「Path」→点击「编辑」
    • 在编辑窗口中点击「新建」
    • 添加w64devkit的bin目录路径:C:\Program Files\w64devkit\bin
    • 点击「确定」保存所有设置
  3. 验证环境变量

    • 打开新的命令提示符或PowerShell窗口
    • 输入命令:g++ --version
    • 如果显示g++版本信息,则环境变量配置成功

3. 编译与运行C++程序

编译程序:

g++ main.cpp -o hello.exe

运行程序:

  • 在命令提示符(CMD)中

  • 在PowerShell中

二、常见问题与解决方案

1. 环境变量未添加到bin目录

  • 问题:配置环境变量时只添加了安装目录(如C:\Program Files\w64devkit),而没有添加bin子目录
  • 后果:终端无法找到g++.exe编译器
  • 解决方案:重新编辑Path变量,确保添加的是完整的bin目录路径:C:\Program Files\w64devkit\bin

2. 添加环境变量后未重启终端或IDE

  • 问题:在已打开的终端或IDE中直接运行编译命令
  • 后果:环境变量尚未生效,仍然提示"g++不是内部或外部命令"
  • 解决方案
    • 关闭所有已打开的终端和IDE窗口
    • 重新打开新的终端或IDE
    • 或重启电脑确保所有程序都能读取到新的环境变量

3. PowerShell执行当前目录程序需要.\前缀

  • 问题:在PowerShell中直接输入hello.exe运行程序
  • 后果:PowerShell默认安全机制会阻止执行当前目录下的程序,提示找不到命令
  • 解决方案:在PowerShell中使用.\前缀指定当前目录:

4. 程序运行无输出

  • 问题:程序编译成功但运行时没有任何输出
  • 可能原因
    • 程序中没有使用coutprintf等输出语句
    • 输出语句被注释掉
    • 程序运行完成后窗口立即关闭
  • 解决方案
    • 检查代码中是否有输出语句
    • 在程序末尾添加system("pause");(Windows系统)或cin.get();来暂停窗口

三、示例程序

#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;
    return 0;
}

注:

  1. 工具包版本:确保选择与系统位数匹配的版本(32位/64位)
  2. 安装路径:避免包含中文或空格的路径,防止编译时出现问题
  3. 环境变量优先级:如果系统中有多个C++编译器,确保w64devkit的bin目录在Path变量中的位置靠前
  4. IDE配置:如果使用VS Code等IDE,可能需要额外配置编译器路径
  5. 调试:如果遇到问题,先检查环境变量配置和编译命令拼写