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快捷键) 的相关文章

  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • 将类对象放置在向量中?

    我注意到我可以将一个类放置在一个向量中 这是我的程序 我收到以下错误 out blackjack exe blackjack obj blackjack obj error LNK2019 unresolved external symbo
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • 如何将 SOLID 原则应用到现有项目中

    我对这个问题的主观性表示歉意 但我有点卡住了 我希望之前处理过这个问题的人能够提供一些指导和建议 我有 现在已经成为 一个用 C 2 0 编写的非常大的 RESTful API 项目 并且我的一些类已经变得巨大 我的主要 API 类就是一个
  • extern 声明和函数定义都在同一文件中

    我只是浏览了一下gcc源文件 在gcc c 我发现了类似的东西 extern int main int char int main int argc char argv 现在我的疑问是extern是告诉编译器特定的函数不在这个文件中 但可以
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • cpp.react库的C++源代码中奇怪的“->* []”表达式

    这是我在文档中找到的 C 片段cpp react 库 https github com schlangster cpp react implicit parallelism auto in D MakeVar 0 auto op1 in g
  • 如何使用 ASP.NET Core 获取其他用户的声明

    我仍在学习 ASP NET Core 的身份 我正在进行基于声明的令牌授权 大多数示例都是关于 当前 登录用户的 就我而言 我的 RPC 服务正在接收身份数据库中某个用户的用户名和密码 我需要 验证是否存在具有此类凭据的用户 获取该用户的所
  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • 从 C# 使用 Odbc 调用 Oracle 包函数

    我在 Oracle 包中定义了一个函数 CREATE OR REPLACE PACKAGE BODY TESTUSER TESTPKG as FUNCTION testfunc n IN NUMBER RETURN NUMBER as be
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • 如何解压 msgpack 文件?

    我正在将 msgpack 编码的数据写入文件 在编写时 我只是使用 C API 的 fbuffer 如 我为示例删除了所有错误处理 FILE fp fopen filename ab msgpack packer pk msgpack pa
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable
  • WPF DataGrid / ListView 绑定到数组 mvvm

    我们假设你有 N 个整数的数组 表示行数的整数值 在模型中 该整数绑定到视图中的 ComboBox Q1 如何将数组 或数组的各个项目 绑定到 DataGrid 或 ListView 控件 以便 当您更改 ComboBox 值时 只有那么多
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 什么是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