一直以来都想着挤出时间,记录开发之路的点点滴滴(现在记录已成回忆),和大家一起分享,开发人员总是在沟通和相互学习中提高自身的能力.路过的大神也好初学者也罢,若发现文章中又观点不对的,还望大家指出.

现在我将许久前的笔记稍作整理并分享给想入门IOS开发的朋友


使用终端(Terminal)和vim编写一个C语言程序

相关知识:

关于终端:mac 上的终端就像是 windows下面的DOS窗口.我们可以通过在上面输入相应的命令来使我们的电脑做一些事情.mac 下的终端亦是如此.

关于 vim: 简单来说就是一款编辑器,它是跨平台的,支持Linux ,UNIX,Windows,Mac OS各大平台,前身是vi 也就是说 vim是vi的增强版.

废话不多说,先来写第一个C语言程序

步骤如下:

  1. 打开终端.输入命令 cd Desktop/

作用:定位到桌面

2. 输入命令 mkdir Code

      作用:在桌面创建一个文件夹 名称为:Code

  3. 输入命令 cd Code/

      作用:定位到Code目录

  4. 输入命令 touch helloworld.c

    作用:创建一个 helloworld.c 的文件

说明:该文件将保存到我们的Code文件夹中

相关知识点:命令是在当前目录下执行操作的,这也就是我们为什么要定位到 Desktop 和定位到 Code中(当然,这个路径并无实在意义,大家可以定位到自己喜欢的任意路径下)

  5. 输入命令 vim helloworld.c 并回车

    作用:使用vim 打开我们创建好的helloworld.c文件

  6. 按下键盘i 并回车

     作用:这是vim 命令表示我们即将开始对该文件进行编辑,

  7. 输入代码

 #include <stdio.h>

 int main()

 {

         printf("hello world\n");//\n 表示换行

         return ;

 }

  8. 敲完代码我们按下 esc键并输入 :wq 回车 (注意冒号别漏了)

      作用:保存我们编辑的内容并退出vim

  以上步骤过后我们便编写好了一个C语言的源文件.接下来我们将要将它变成一个可执行程序并运行起来

  9. 编译和链接

  输入命令:gcc helloworld.c 并回车

  (该行命令实际上执行了两步操作,编译和链接)

  此时查看Code文件夹我们将看到生成a.out 文件

  这里解释一下编译和链接

  所谓编译:就是将我们的源代码”翻译”成我们计算机懂的机器语言(众所周知 的 010100101010…)代码.计算机的世界里只有 0和1

  所谓链接:就是将我们的源代码和其他C语言函数库链接起来.相当于给了我们一个工具箱.

  如我们用到的printf() 函数,就属于C语言函数库提供的函数之一.其作用是将文本内容打印(显示)到我们的屏幕上.若没有链接这个环节,当我们调用printf()函数的时候,编译器将报错,原因就是找不到该函数

  10. 运行

  输入命令 ./a.out 并回车

  结果:我们看到终端打印出 hello world

相关截图:

  1. 所有命令

2.vim编辑截图


  此外:附上一些常见命令的网站链接

  mac:

      http://ss64.com/osx/ 这个网站相对介绍得比较全面

  vim:

http://blog.csdn.net/xdrt81y/article/details/24062117/

IOS开发--C语言入门--如何结合Terminal和Vim开发C语言程序的更多相关文章

  1. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  2. C语言入门(21)——使用DBG对C语言进行调试

    C语言入门(21)--使用DBG对C语言进行调试 程序中除了一目了然的Bug之外都需要一定的调试手段来分析到底错在哪.到目前为止我们的调试手段只有一种:根据程序执行时的出错现象假设错误原因,然后在代码 ...

  3. C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  4. 清华大学出版社即将推出的又一本挂羊头卖狗肉的劣书 《C语言入门1.2.3—一个老鸟的C语言学习心得》

    http://www.tup.com.cn/book/showbook.asp?CPBH=051892-01

  5. C语言入门(20)——使用VC2013对C语言进行调试

    软件调试过程中,有时会一些逻辑和内存访问方面的问题,如果没有调试器的帮助,找出何处代码导致这块内存被更改是一件非常麻烦的事情.恰当运用数据断点可以快速帮我们定位问题的所在. 1.VC的调试快捷键 F5 ...

  6. Perl语言入门:第九章 使用正则表达式处理文本 示例程序和代码

    #! /usr/bin/perl use strict; use warnings; print "\n----------------------------------_substitu ...

  7. (五)Lua脚本语言入门

    ---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...

  8. 【Go语言入门系列】Go语言工作目录介绍及命令工具的使用

    [Go语言入门系列]前面的文章: [保姆级教程]手把手教你进行Go语言环境安装及相关VSCode配置 [Go语言入门系列](八)Go语言是不是面向对象语言? [Go语言入门系列](九)写这些就是为了搞 ...

  9. Go语言入门系列(四)之map的使用

    本系列前面的文章: Go语言入门系列(一)之Go的安装和使用 Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 1. 声明 map是一种映射,可以将键(key)映射到值(val ...

随机推荐

  1. SRM 587 DIV1

    要掉到DVI2了..好不容这次的250那么简单,500的题知道怎么做,可惜没调出来500. 250的题很简单,从第1步到第N步,每次要么不做,要么走i步,且X不能走,问说最远走多远. #include ...

  2. 理解TCP/IP协议

    TCP/IP协议是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议. 单从TCP/IP协议这个名称看,好多人误 ...

  3. Redpine Signals RS9110-N-11-02 Wi-Fi解决方案

    Redpine Signals公司的RS9110-N-11-02是兼容IEEE 802.11bgn的Wi-Fi客户端模块,集成了MAC,基带处理器,RF收发器和功率放大器.和RS9110-LI MAC ...

  4. 如何将一个Form中的代码拆分到多个文件中

    https://social.msdn.microsoft.com/Forums/en-US/64c77755-b0c1-4447-8ac9-b5a63a681b78/partial-class-fo ...

  5. How does it work in C#? - Part 3 (C# LINQ in detail)

    http://www.codeproject.com/Articles/383749/How-does-it-work-in-Csharp-Part-Csharp-LINQ-in-d

  6. bzoj3294

    感觉自己就是不怎么擅长计数的问题 设f[k,i,j]表示前k种颜色占据了i行j列的方案 g[k,i,j]表示第k种颜色占据了i行j列的方案,注意要减去并没占据满i行j列的情况 然后转移就很好写了 像这 ...

  7. Mongodb的范式化和反范式化

    如果是涉及到一对多的数据格式,可使用文档引用范式化数据. 在一个,User对象中,如果涉及到工作信息或者联系地址的,这些信息会频繁的进行访问,可使用嵌入式文档对数据进行反范式化.

  8. UVA 1658 Admiral 海上将军(最小费用流,拆点)

    题意: 一个有v个点的有向图,要从点1到点v需要找两条路径,两路径不可经过同一个点(除了1和v点).求这两条路径的最小费用(保证有解). 分析: 难在建图,其他套模板. 此图给的是超级复杂图,两个点之 ...

  9. Asp.net MVC 4 异步方法

    今天我们来看一下,同样功能在 Asp.net MVC 4 下的实现,基于.net framework 4.5 下的async支持,让我们的代码更加简单,看下面片断代码名叫Index的Action方法: ...

  10. Android开发:如何实现TCP和UDP传输

    TCP和UDP在网络传输中非常重要,在Android开发中同样重要. 首先来看一下什么是TCP和UDP. 什么是TCP? TCP:Transmission Control Protocol 传输控制协 ...