windows下gcc編譯C、C++程序 MinGW編譯器

文章目錄

  • 1、概要
  • 2、MinGW安裝
    • 2.1 編譯器下載
    • 2.2 編譯器安裝
    • 2.3 設置環境變量
    • 2.4 查看gcc版本信息
  • 3、編譯C、C++程序
    • 3.1 編寫Hello World.c
    • 3.2 編譯C程序
    • 3.3 運行程序
    • 3.4 編譯C++程序

1、概要

GCC原名為GNU C語言編譯器(GNU C Compiler),只能處理C語言。但其很快擴展,變得可處理C++,后來又擴展為能夠支持更多編程語言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各類處理器架構上的匯編語言等,所以改名GNU編譯器套件(GNU Compiler Collection)。GCC支持多種計算機體系結構芯片,如x86、ARM、MIPS等,并已被移植到其他多種硬件平臺。
MinGW,是Minimalist GNU for Windows的縮寫。它是一個可自由使用和自由發布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許在GNU/Linux和Windows平臺生成本地的Windows程序而不需要第三方C運行時(C Runtime)庫。MinGW 是一組包含文件和端口庫,其功能是允許控制臺模式的程序使用微軟的標準C運行時(C Runtime)庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的 Windows 95發行版以上的 Windows OS 有效,使用基本運行時,你可以使用 GCC 寫控制臺模式的符合美國標準化組織(ANSI)程序,可以使用微軟提供的 C 運行時(C Runtime)擴展,與基本運行時相結合,就可以有充分的權利既使用 CRT(C Runtime)又使用 WindowsAPI功能。

2、MinGW安裝

2.1 編譯器下載

下載地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net
下載后文件如mingw-get-setup.exe。

2.2 編譯器安裝

雙擊運行“mingw-get-setup.exe”
在這里插入圖片描述
“Install”
在這里插入圖片描述
默認根據需要選擇目錄,安裝目錄“C:\MinGW”。“Continue”;
在這里插入圖片描述
“Continue”
在這里插入圖片描述
選擇要安裝的組件
在這里插入圖片描述
選擇C編譯器、C++編譯器等
在這里插入圖片描述
“Installation”-“Apply Changes”
在這里插入圖片描述
“Apply”
在這里插入圖片描述
安裝完成,“Close”
在這里插入圖片描述
在這里插入圖片描述

2.3 設置環境變量

“設置”-“系統‘-”系統信息“-”設備規格“-”高級系統設置“-”系統屬性“-”高級“-”環境變量“-”系統變量“
在這里插入圖片描述
“path”-“編輯”
在這里插入圖片描述
添加MinGW安裝路徑
在這里插入圖片描述

2.4 查看gcc版本信息

在這里插入圖片描述

3、編譯C、C++程序

3.1 編寫Hello World.c

在這里插入圖片描述

3.2 編譯C程序

在文件所在目錄打開命令行
在這里插入圖片描述
使用gcc編譯*.c文件
在這里插入圖片描述

3.3 運行程序

在當前目錄生成可執行文件“Hello_World.exe”。運行可執行文件
在這里插入圖片描述

3.4 編譯C++程序

使用g++編譯*.cpp文件
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45946.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45946.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45946.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot 實現整合kafka的簡單使用

1、引入kafka的依賴 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-kafka</artifactId></dependency>2、配置kafka spring:kafka:bootstrap-servers: 156.65.20.76:9092,156.65.20.…

Linux系統下weblogic10.3.6版本打補丁步驟

linux系統 weblogic補丁壓縮包&#xff1a;p35586779_1036_Generic.zip 鏈接&#xff1a;https://pan.baidu.com/s/1EEz_zPX-VHp5EU5LLxfxjQ 提取碼&#xff1a;XXXX &#xff08;補丁壓縮包中包含以下東西&#xff09; 打補丁步驟&#xff1a; 1.備份原weblogic(需要先確保服…

Langchain[3]:Langchain架構演進與功能擴展:流式事件處理、事件過濾機制、回調傳播策略及裝飾器應用

Langchain[3]:Langchain架構演進與功能擴展&#xff1a;流式事件處理、事件過濾機制、回調傳播策略及裝飾器應用 1. Langchain的演變 v0.1: 初始版本&#xff0c;包含基本功能。 從0.1~0.2完成的特性&#xff1a; 通過事件流 API 提供更好的流式支持。標準化工具調用支持Tool…

【linux 100條命令】

以下介紹一些常見的 Linux 命令&#xff1a; 1. ls &#xff1a;用于列出目錄中的內容。 - 常用選項&#xff1a; - -l &#xff1a;以長格式顯示詳細信息&#xff0c;包括文件權限、所有者、所屬組、文件大小、修改時間等。 - -a &#xff1a;顯示所有文件&#xff0c;包…

哪些基于 LLMs 的產品值得開發?從用戶體驗和市場接受度的角度探討

編者按&#xff1a;在大語言模型&#xff08;LLMs&#xff09;相關技術高速發展的今天&#xff0c;哪些基于 LLMs 的產品真正值得我們投入精力開發&#xff1f;如何從用戶體驗和市場接受度的角度評估這些產品的潛力&#xff1f; 今天為大家分享的這篇文章&#xff0c;作者的核心…

從代理模式到注解開發

代理模式 package org.example.proxy;public class ProxyClient {public static void main(String[] args) {ProxyBuilder proxyBuilder new ProxyBuilder();proxyBuilder.build();} }interface BuildDream {void build(); }class CustomBuilder implements BuildDream {Over…

visual studio開發C++項目遇到的坑

文章目錄 1.安裝的時候&#xff0c;順手安裝了C模板&#xff0c;導致新建項目執行出問題2.生成的exe&#xff0c;打開閃退問題3.項目里宏的路徑不對&#xff0c;導致后面編譯沒有輸出4. vs編譯ui&#xff0c;warning跳過&#xff0c;未成功5.vs編譯.h&#xff0c;warning跳過&a…

K8S 中的 CRI、OCI、CRI shim、containerd

K8S 如何創建容器&#xff1f; 下面這張圖&#xff0c;就是經典的 K8S 創建容器的步驟&#xff0c;可以說是冗長復雜&#xff0c;至于為什么設計成這樣的架構&#xff0c;繼續往下讀。 前半部分 CRI&#xff08;Container Runtime Interface&#xff0c;容器運行時接口&#xf…

避免海外業務中斷,TikTok養號注意事項

TikTok已成為企業和個人拓展海外業務的重要平臺。然而&#xff0c;由于平臺規則嚴格&#xff0c;賬號被封禁或限制訪問的風險始終存在。為了確保用戶在TikTok上的業務順利進行&#xff0c;著重說一些養號的注意事項。 文章分為三個部分&#xff0c;分別是遵守平臺規則、養號策略…

Qt判定鼠標是否在該多邊形的線條上

要判斷鼠標是否在由QPainterPath或一系列QPointF點定義的多邊形的線條上&#xff0c;你可以使用以下步驟&#xff1a; 獲取鼠標當前位置&#xff1a;在鼠標事件中&#xff0c;使用QMouseEvent的pos()方法獲取鼠標的當前位置。 檢查點與線段的距離&#xff1a;遍歷多邊形的每條…

面試高級 Java 工程師:2024 年的見聞與思考

面試高級 Java 工程師&#xff1a;2024 年的見聞與思考 由于公司業務拓展需要&#xff0c;公司招聘一名高級java工程研發工程師&#xff0c;主要負責新項目的研發及老項目的維護升級。我作為一名技術面試官&#xff0c;參與招聘高級 Java 工程師&#xff0c;我見證了技術領域的…

LATEX格式的高等數學題庫(導數和概率論與數理統計)

\documentclass{ctexart} \usepackage{amsmath,amssymb,amsfonts,hyperref} \usepackage{CJKutf8} \usepackage{enumitem} % 引入宏包 \usepackage [colorlinkstrue] {} \begin{document}\begin{CJK}{UTF8}{gkai}%正文放在此行下與\end{CJK}之間就行\tableofcontents\newpage\s…

F1-score(標準度量)

什么是F1-score&#xff1f; F1分數&#xff08;F1-score&#xff09;是分類問題的一個衡量指標。一些多分類問題的機器學習競賽&#xff0c;常常將F1-score作為最終測評的方法。它是精確率和召回率的調和平均數&#xff0c;最大為1&#xff0c;最小為0&#xff0c;如公式1所示…

高效轉換:CSV 轉 JSON 數組 API

在日常數據處理和分析中&#xff0c;CSV 和 JSON 是兩種常見的數據格式。無論是開發者還是數據科學家&#xff0c;經常需要在這兩種格式之間轉換。我們提供的 CSV 轉 JSON 數組 API 可以幫助您輕松完成這一任務。 功能特點&#xff1a; 多種輸入方式&#xff1a;支持直接粘貼…

使用GPT3.5,LangChain,FAISS和python構建一個本地知識庫

引言 介紹本地知識庫的概念和用途 在現代信息時代&#xff0c;我們面臨著海量的數據和信息&#xff0c;如何有效地管理和利用這些信息成為一項重要的任務。本地知識庫是一種基于本地存儲的知識管理系統&#xff0c;旨在幫助用戶收集、組織和檢索大量的知識和信息。它允許用戶…

C語言-->指針詳解

提示&#xff1a;本系列文章是C語言的重難點–>指針 C語言-->指針詳解 前言一、什么是指針&#xff1f;二、指針的聲明與初始化三、指針的解引用四、指針與數組五、指針與函數六、動態內存分配七、常見錯誤與注意事項總結我是將軍我一直都在&#xff0c;。&#xff01; 前…

Oracle或MySQL數據遷移到國產數據庫后的注意事項

一、人大金倉Kingbase 1、初始化后兼容 創建sysdate()方法兼容原生MySQL模式下不具備sysdate()的問題&#xff1a; create or replace function sysdate() returns timestamp with time zone as select current_timestamp; language sql; 2. 執行語句收集統計信息&#xff…

1.5-協程基礎與關鍵知識:連接線程的世界-回調型 API 協作

文章目錄 線程 API 轉換成掛起函數&#xff1a;suspendCoroutine支持取消的 suspendCoroutine&#xff1a;suspendCancellableCoroutine總結 線程 API 轉換成掛起函數&#xff1a;suspendCoroutine 在實際項目中即使已經使用協程了&#xff0c;可是要完全避免跟傳統的線程 API…

Excel 學習手冊 - 精進版(包括各類復雜函數及其嵌套使用)

作為程序員從未想過要去精進一下 Excel 辦公軟件的使用方法&#xff0c;以前用到某功能都是直接百度&#xff0c;最近這兩天跟著嗶哩嗶哩上的戴戴戴師兄把 Excel 由里到外學了一遍&#xff0c;收獲良多。程序員要想掌握這些內容可以說是手拿把掐&#xff0c;對后續 Excel 的運用…

linux的學習(七):讀取,函數,正則表達式,文本處理工具cut和awk

##簡介 shell編程中的讀取&#xff0c;函數&#xff0c;正則表達式&#xff0c;文本處理工具的簡單使用 read read&#xff1a;讀取控制臺的輸入 參數&#xff1a; -p&#xff1a;指定讀取時的提示符-t&#xff1a;等待讀取的時間 腳本例子 編寫i.sh腳本&#xff0c;enter…