若要在 Mac 的终端中编译并运行 C 源代码,你首先需要安装 Command Line Tools,里面包含有 GCC 编译器。安装方法为:

1.打开终端,输入 gcc。

如果你没有安装 Command Line Tools,会弹出一个窗口提示你安装,如图所示,点击安装即可。如果出现提示“clang_error: no input files”,说明你已经安装了 gcc 编译器,可以直接开始编译程序。

2.安装完成后,定位至你需要编译的 C 源代码所在目录,即使用 cd 命令,例如我现在在根目录下,我的 C 代码位于 ~/Desktop 文件夹中,我便可以在终端中输入以下命令,来跳转到我 C 代码的文件夹:

3.如果你把.c文件保存或者是存储在桌面上的话你的代码入下所示,

cd desktop

如果觉得输入文件夹地址比较繁琐,还有一种简单的方法,就是输完 cd 后在 Finder 中找到你的文件夹,直接把它拖到终端里,系统会自动生成这个文件夹的地址。

4.定位完成后,就可以开始编译了。例如,我要编译的文件叫 test.c,那么就在终端中输入

gcc -Wall -g -o test test.c

5.其中,-Wall 代表编译器在编译过程中会输出警告信息(Warning),比如有些变量你并没有使用,指针指向的类型有误,main 函数没有返回整数值等。这类信息虽然不是错误,不影响编译,但是很可能是程序 bug 的源头,也有助于你寻找代码中的错误,规范代码格式。所以建议每次编译时都加上 -Wall 参数。

6.-g 代表编译器会收集调试(debug)信息,这样如果你的程序运行出错,就可以通过 gdb 或者 lldb 等工具进行逐行调试,方便找出错误原因。如果你不是百分之百确定你的程序毫无问题,建议加上 -g 参数。这样 debug 的时候会方便很多。

7.-o 代表编译器会将编译完成后的可执行文件以你指定的名称输出到你指定的文件夹下。-o 的空格后的名称就是输出的文件的名称。例如我这里 -o 后是 test,就是说 gcc 会在编译成功后在我的当前目录下生成一个叫 test 的可执行文件。如果不加这个参数,每次编译后生成的可执行文件都会放在根目录下,名字叫做 a.out。每次编译成功后都会把上一次的 a.out 文件覆盖。所以建议加上 -o 参数,这样可以更加条理。

8.最后一项便是你要编译的的源代码的名称了。我这里是 test.c。注意加上后缀 .c。

9.输入完毕后按回车,如果编译没有任何问题,不会有任何提示。如果有问题,编译器会提示你问题是什么,在源代码的什么位置。

如果编译成功,你会发现在你的当前目录下多出了一个可执行文件,图标如图所示:

在终端中输入 ./可执行文件的名称 即可执行你的程序。例如,我输入

.\test

后,就可以执行程序了。如果提示你 Permission Denied,则是因为你没有赋予这个文件执行权限,需要在终端里输入

chmod u+x test  //(最后参数为你的文件名,来使其可在你的账户下执行)

如果运行时出现 Segmentation Fault,则说明你的代码里有 bug 导致程序崩溃。

拓展资料

macos安装xcode command line tool的两种方法

Terminal 运行 xcode-select --install 然后点击安装

登录https://developer.apple.com/download/more/ 然后下载 dmg 安装

terminal怎么运行c语言文件,在mac电脑的terminal里该如何运行c语言相关推荐

  1. Sketch的文件不用MAC电脑也能打开了

    Sketch的文件不用MAC电脑也能打开了 Sketch 是一款适用于所有设计师的矢量绘图应用.矢量绘图也是进行网页,图标以及界面设计的最好方式.但除了矢量编辑的功能之外,Sketch同样添加了一些基 ...

  2. 苹果电脑为什么无法删除U盘的文件?mac怎么删除移动硬盘里的文件

    "我将移动硬盘插入Mac电脑上,准备删除上面不需要的文件,来腾出足够的空间,可是我竟然不能直接删除这些文件,没有删除的选项供我选择,我也不能够直接把要删除的文件拖到废纸篓,这是怎么回事呢?苹 ...

  3. Mac打出c语言特殊符号,Mac电脑怎么打出command⌘、option⌥等特殊符号

    网上好多关于怎么打出command⌘.option⌥等特殊符号的教程已经过期,或者繁琐看不懂.今天为大家分享一份简单,一看就懂的Mac电脑怎么打出command⌘.option⌥等特殊符号教程. 1. ...

  4. ubuntu 运行c语言文件路径,ubuntu上解压目录里的文件到指定文件夹

    去除目录结构加上 --strip-components N 如: 压缩文件eg.tar 中文件信息为 src/src/src/eg.txt 运行 tar -xvf eg.tar --strip-com ...

  5. ios怎么打开c语言文件操作函数,C++ ofstream和ifstream详细用法以及C语言的file用法...

    ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个"流"类为基础的,包括我们 ...

  6. mac怎么删除下载文件及MAC电脑浏览器如何清除缓存?

    很多用户在浏览器下载了很多文件,可能只打开过一次就再也没有使用过,也不知道怎么删除,等存储空间不够了才想起删除下载文件或者清理浏览器缓存.今天小编就来教大家mac怎么删除下载的文件,以及macbook ...

  7. 计算机开始菜单运行程序在哪里,请问谁知道电脑开始菜单里运行的指令大全?...

    syncapp 创建一个公文包 sysedit 系统配置编辑器 sigverif 文件签名验证程序 sndrec32 录音机 shrpubw 创建共享文件夹 secpol.msc 本地安全策略 sys ...

  8. 第11章 Go语言文件处理

    本章我们将带领大家深入了解一下 Go语言中的文件处理,重点在于文件而非目录或者通用的文件系统,特别是如何读写标准格式(如 XML 和 JSON 格式)的文件以及自定义的纯文本和二进制格式文件. 由于前 ...

  9. bat文件指定jdk路径_配置点击就能运行Python程序的bat批处理脚本(Windows)

    0,需求说明 在编写和调试程序时,一般我们会在集成编辑环境里写代码和运行,但如果程序比较完善需要快速运行,或者让同事在其他电脑上快速运行时,再打开IDE(Integrated Development ...

最新文章

  1. SpringBoot+Vue+Itext实现前端请求文件流的方式导出PDF时在指定位置添加照片
  2. Python开发工程师常见的面试题及答案分享,记得收藏哈!
  3. php腾讯云+视频上传失败,腾讯云视频上传和播放尝试总结
  4. 区分两种题目类型中的数学期望
  5. c 语言比较三个字符串,C语言字符篇(三)字符串比较函数
  6. mysql driver pdo_关于 php mysql pdo cannot find driver 解决方案
  7. ubuntu安装 opencv-3.4.3
  8. Chrome最新离线安装包下载
  9. 从零开始学习音视频编程技术(41) H.264播放器
  10. html控制word打印在一张页面,HTML文件到WORD文档双面打印三步曲
  11. python三阶魔方_三阶魔方自动求解及动态可视化matlab代码
  12. 计算机处理器缓存参数,小知识:通俗易懂理解处理器中的主频、架构、核心、线程、缓存...
  13. 【知识图谱】知识图谱的本质是什么?
  14. YDOOK: Putty 下载安装详细教程 可用 已解决
  15. 华东地区响应最快的DNS服务排名
  16. cad怎么画坐标系箭头_AutoCAD2016怎么画箭头 在一条直线上画个箭头方法
  17. 基于51单片机的无线遥控小车
  18. html5 基础代码,{HTML5}基础核心-第一节-上
  19. C++ 背包问题——01背包
  20. 一次性床单的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. 7.Verilog 条件语句的应用
  2. 10 在Spring Cloud中使用Hystrix
  3. Java中windows路径转换成linux路径等工具类
  4. Open-E DSS V7 应用系列之三 Web管理简介
  5. 使用sublime text2怎样新建文件高速生成HTML头部信息?
  6. 我的Java开发学习之旅------gt;Base64的编码思想以及Java实现
  7. 安装openproject
  8. 转载:一致性 hash 算法( consistent hashing )
  9. Oracle中的NULL(一、问题引入)
  10. Ngrok: 使用 Ngrok 实现内网穿透