window中gcc编译程序、编辑环境配置以及gcc编译程序的过程(含system函数以及CMD快捷键)

2023-11-17

1.system函数的使用

#include<stdio.h>
int system (const char*command);

 功能:已经运行的程序中执行另外一个外部程序

 参数:外部可执行程序名

返回值:

                成功:0

                失败:任意数

示例代码

#include<stdio.h>
#include<stdlib.h>
int main()
{
    system("calc");//windows平台,调用电脑计算器
    return 0;
}

system可以打开一个外部的应用程序,如果带路径需要使用"\\"或者“/”,如下面代码所示:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int value;
    value=system("D:/Desktop/新文件夹");//可使用路径打开window中的程序跟文件
    printf("%d\n",value);
    return 0;
}

对于上诉的操作,也可以直接window+R,打开“运行”对话框,直接输入路径或CMD快捷键,也可以在“运行”对话框中在输入cmd,进入“命令提示符”窗口,如下图

 

 2.window中gcc编译程序、编辑环境配置以及gcc编译程序的过程:

1)window中gcc编辑环境配置

首先去官网下载vscode或者CLion(建议装CLion,相比强大点)

下面以装vscode为例

想关的安装教程不讲,可以去微信公众号:自学编程村,里面有篇文章很详细。

在安装vscode的时候要下载一个工具链链接是:

sourceforge.net/projects/mingw-w64/files/mingw-w64/

 

相关的配置方法,上面讲到的公众号讲述得很好,你们可以去查看,装好。我这里主要讲的是如何使用。将上面所述的东西装好、配置好后,在“命令提示符”窗口输入“gcc -v”,如果出现下图所示,就可以在window中gcc编译程序了 。

 

现在我们在window中用gcc编译程序如下图所示: 

 

 先在“命令提示符”窗口输入"gcc -v",然后空格将文件hello.c拖入,然后改后缀为.exe,(如果项目有多个源文件可以全都直接拖入)再拖进hello.c文件,然后回车就会再hello.c所在的文件夹生成hello.exe程序。上面说到的第一次拖动改为后缀.exe是添加可执行程序,第二次是添加源文件。注意该给的空格位一定要给。

        可以将新生成的hello.exe文件拖到“命令提示符”窗口执行如下图:

 3.gcc编译程序的过程

gcc编译过程

1) 分步编译

预处理:gcc -E hello.c -o hello.i

编  译:gcc -S hello.i -o hello.s

汇  编:gcc -c hello.s -o hello.o

链  接:gcc    hello.o -o hello.exe

选项

含义

-E

只进行预处理

-S

只进行预处理和编译

-c(小写)

只进行预处理、编译和汇编

-o file(小写)

指定生成的输出文件名为 file

文件后缀

含义

.c

C 语言文件

.i

预处理后的 C 语言文件

.s

编译后的汇编文件

.o

编译后的目标文件

 用window“命令提示符”窗口操作结果如下: 

       

 上面文件按顺序输入生成。

编译规则:

1)预处理 宏定义展开 头文件展开 条件编译 去掉注释
2)编译 检查语法 将C语言转成汇编语言
3)汇编 将汇编语言转成机器语言(二进制码)
4)链接 将C语言依赖库链接到程序中

4、cmd命令大全
  现在大家用的Windows系统,都是离不开DOS命令的操作。学习DOS系统操作,首先了解命令提示符。所学DOS系统操作,cmd命令提示符是不可或缺的。那么cmd命令大全是什么呢?先了解每个命令提示符的作用,然后才能够灵活运用。下面将详细的为大家介绍cmd命令大全的符号和作用说明。
cmd命令大全
  winver---------检查Windows版本
  wmimgmt.msc----打开windows管理体系结构(WMI)
  wupdmgr--------windows更新程序
  wscript--------windows脚本宿主设置
  write----------写字板
  winmsd---------系统信息
  wiaacmgr-------扫描仪和照相机向导
  winchat--------XP自带局域网聊天

  mem.exe--------显示内存使用情况
  Msconfig.exe---系统配置实用程序
  mplayer2-------简易widnows media player
  mspaint--------画图板
  mstsc----------远程桌面连接
  mplayer2-------媒体播放机
  magnify--------放大镜实用程序
  mmc------------打开控制台
  mobsync--------同步命令
  cmd命令大全(第三部分)
  dxdiag---------检查DirectX信息
  drwtsn32------ 系统医生
  devmgmt.msc--- 设备管理器
  dfrg.msc-------磁盘碎片整理程序
  diskmgmt.msc---磁盘管理实用程序
  dcomcnfg-------打开系统组件服务
  ddeshare-------打开DDE共享设置
  dvdplay--------DVD播放器

  net stop messenger-----停止信使服务
  net start messenger----开始信使服务
  notepad--------打开记事本
  nslookup-------网络管理的工具向导
  ntbackup-------系统备份和还原
  narrator-------屏幕“讲述人”
  ntmsmgr.msc----移动存储管理器
  ntmsoprq.msc---移动存储管理员操作请求
  netstat -an----(TC)命令检查接口

  syncapp--------创建一个公文包
  sysedit--------系统配置编辑器
  sigverif-------文件签名验证程序
  sndrec32-------录音机
  shrpubw--------创建共享文件夹
  syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
  services.msc---本地服务设置
  Sndvol32-------音量控制程序
  sfc.exe--------系统文件检查器
  sfc /scannow---windows文件保护

  tsshutdn-------60秒倒计时关机命令
  tourstart------xp简介(安装完成后出现的漫游xp程序)
  taskmgr--------任务管理器
  eventvwr-------事件查看器
  eudcedit-------造字程序
  explorer-------打开资源管理器
  packager-------对象包装程序
  perfmon.msc----计算机性能监测程序
  progman--------程序管理器
  regedit.exe----注册表
  rsop.msc-------组策略结果集
  regedt32-------注册表编辑器
  rononce -p ----15秒关机
  regsvr32 /u *.dll----停止dll文件运行
  regsvr32 /u zipfldr.dll------取消ZIP支持
  cmd.exe--------CMD命令提示符
  chkdsk.exe-----Chkdsk磁盘检查
  certmgr.msc----证书管理实用程序
  calc-----------启动计算器
  charmap--------启动字符映射表
  cliconfg-------SQL SERVER 客户端网络实用程序
  Clipbrd--------剪贴板查看器
  conf-----------启动netmeeting
  compmgmt.msc---计算机管理
  cleanmgr-------垃圾整理
  ciadv.msc------索引服务程序
  osk------------打开屏幕键盘
  odbcad32-------ODBC数据源管理器
  oobe/msoobe /a----检查XP是否激活
  lusrmgr.msc----本机用户和组
  logoff---------注销命令
  iexpress-------木马捆绑工具,系统自带
  Nslookup-------IP地址侦测器
  fsmgmt.msc-----共享文件夹管理器
  utilman--------辅助工具管理器
  gpedit.msc-----组策略

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

window中gcc编译程序、编辑环境配置以及gcc编译程序的过程(含system函数以及CMD快捷键) 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 什么是DBMS,什么是数据库?

    马克 to win DBMS database management system 数据库管理系统 像mysql oracle sql server之类 首先没什么神秘的 都只是某个公司编的一个软件而已 比如mysql是MySQL AB公司
  • msvcp140.dll重新安装的解决方法【msvcp140.dll修复工具下载】

    msvcp140 dll文件如何安装 win10系统是目前大家常用的电脑操作系统 最近有很多用户不知道如何安装msvcp140 dll文件 这里小编今天为大家带来了msvcp140 dll文件怎么安装的方法 有需要的用户快来看看吧 msvc
  • 4.网络爬虫—Post请求(实战演示)

    网络爬虫 Post请求实战演示 POST请求 GET请求 POST请求和GET请求的区别 获取二进制数据 爬 百度官网 https www baidu com logo实战 发送post请求 百度翻译实战 使用session发送请求 模拟登
  • 喜报

    本文部分内容来自 中国AIOps现状调查报告 2023 丝小编扣1 领取完整版报告 2023年7月18日 信通院Xops产业创新发展论坛于北京成功举办 大会旨在提高企业研发运营水平 加强XOps体系建设经验分享 以三大不同主题的分论坛组成
  • 异步复位,同步释放的理解

    文章目录 什么情况下 复位信号需要做 异步复位 同步释放 处理 异步复位同步释放原理 利用前面两级触发器实现 特点 问题1 如果没有前面两级触发器的处理 异步信号直接驱动系统的触发器 会出现什么情况 问题2 复位信号存在亚稳态 有危险吗 问
  • Angular中的管道

    Angular同在在模板文件中使用一些管道 这些管道是用来对字符串 货币金额 日期等数据进行转换和格式化的 管道的本质是一些简单的函数 可以在模板表达式中用来接受输入值并返回一个按一定规则转换后的值 Angular内置管道 DatePipe
  • js数组的includes方法优化判断逻辑

    js数组的includes方法代替大量判断 优化前 function printAnimals animal if animal dog animal cat console log I have a animal printAnimals
  • Python 利用随机函数和电脑玩石头剪刀布

    首先导入第三方库 random import random 注意 使用前请先下载random函数 import random 从控制台出拳 拳头 剪刀 布 player input 请输入你要出的拳 石头 剪刀 布 电脑随机出拳 先假定电脑
  • vue+element-ui el-table组件二次封装(2023-09-03 TTable组件实现虚拟滚动,解决数据量大页面卡顿问题)

    2023 09 03 TTable组件实现虚拟滚动 解决数据量大页面卡顿问题 所有示例效果 1 简介 HTML一行代码 可以实现表格编辑 分页 表格内 外按钮操作 行内文字变色 动态字典展示 filters格式化数据 排序 显示隐藏表格内操
  • 三维旋转:旋转矩阵,欧拉角,四元数

    在介绍下面的文章前 大家如果接触到欧拉角的话 就一定要关注一个词 要顺规 在欧拉角体系里面 有12种顺规 这一点是好多文章没有让读书意识到 导致后面学习图形学里面的 heading pitch bank 时对不上号 一般百度百科里面说到的
  • 课程笔记2

    一 实现 1 区块链是去中心化的账本 比特币采用的是基于交易的账本模式 区块链的全节点需要维护一种名叫UTXO的数据结构 所有未花掉的交易的输出的集合 可以有效检测双花攻击 交易的总输入略微大于总输出 这是因为比特币的第二个激励机制 获得记
  • load data inpath出错原因及解决方法

    hive gt load data inpath hdfs Master hdp 9000 person txt into table Person1 FAILED SemanticException Error 10028 Line 1
  • java setcellvalue NA_java minioClient.setBucketPolicy 调用失败 折腾好几天了 求大佬解惑...

    方法调用后 提示 Request processing failed nested exception is java lang IllegalArgumentException unknown error code string Malf
  • 简要损益科目口诀,营业外收支和其他业务收支的区别

    一 损益科目口诀 三收三费所得税 两成三益外加减 三收 主营业务收入 其他业务收入 营业外收入 三费 管理费用 财务费用 销售费用 这是常用费用 某些企业可能还分有研究开发费用 两成 主营业务成本 其他业务成本 三益 投资收益 公允价值变动
  • java查看包的源代码

    把鼠标放在方法上 按Ctrl进去 打开的 class文件就是Java jdk1 7 0 src zip中的源码 但是在Java jdk1 7 0 src zip 中是以 java为扩展名
  • ios开发教程入门到精通

    第1集 初识macOS 点击观看 第2集 开发工具Xcode 点击观看 第3集 初识Objective C 点击观看 待续
  • 华为机试 牛客网 HJ1 字符串最后一个单词的长度

    华为机试 牛客网 HJ1 字符串最后一个单词的长度 描述 输入描述 输出描述 示例一 解法一 解法二 反思 描述 计算字符串最后一个单词的长度 单词以空格隔开 字符串长度小于5000 输入描述 输入一行 代表要计算的字符串 非空 长度小于5
  • shell简单脚本编写

    1 第一步 安装邮件服务 root server yum install s nail y 第二步 编辑配置文件 root server vim etc s nail rc set from 自己的qq邮箱地址 set smtp smtp
  • OpenCV - 基本知识

    1 读取并显示图片 namedWindow新建一个显示窗口 imshow输出图片 namedwindow可有可无 Mat image cv imread E 其他文档 图片 2 jpg 2 cv namedWindow 照片 CV WIND
  • window中gcc编译程序、编辑环境配置以及gcc编译程序的过程(含system函数以及CMD快捷键)

    1 system函数的使用 include