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

现在我将许久前的笔记稍作整理并分享给想入门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. Servlet课程0424(二) 通过继承GenericServlet来开发Servlet

    //这是第二种开发servlet的方法(继承GernericServlet) package com.tsinghua; import javax.servlet.GenericServlet; im ...

  2. iOS开发--绘图教程

    本文是<Programming iOS5>中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容.希望本文能够对你有所帮助. 本文由海水的味道翻译整理,转载请 ...

  3. CSS+DIV 布局三种定位方式

    一.普通流 普通流中元素框的位置由元素在HTML中的位置决定.块级元素从上到下依次排列,框之间的垂直距离由框的垂直margin计算得到.行内元素在一行中水平布置. 二.定位 1.相对定位 被看作普通流 ...

  4. Django用户认证系统(三)组与权限

    Django的权限系统很简单,它可以赋予users或groups中的users以权限. Django admin后台就使用了该权限系统,不过也可以用到你自己的代码中. User对象具有两个ManyTo ...

  5. WCF 传输的序列化

    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService”.[ServiceContract]public interface IService{ [O ...

  6. android从应用到驱动之—camera(1)---程序调用流程[转]

    一.开篇 写博客还得写开篇介绍,可惜,这个不是我所擅长的.就按我自己的想法写吧. 话说camera模块,从上层到底层一共包含着这么几个部分: 1.apk------java语言 2.camera的ja ...

  7. 宏FSP_SEG_INODES_PER_PAGE

    #define FSP_SEG_INODES_PER_PAGE(zip_size) \ (((zip_size ? zip_size : UNIV_PAGE_SIZE) \ - FSEG_ARR_OF ...

  8. bzoj1471

    转化补集的思想,首先求出任意两点之间路径数目 然后求两条路径第一次相交在点k(按照拓扑排序的顺序)的数目,显然这里要用到容斥 然后pascal有坑爹的范围检测,所以运算中有些不会影响到答案但会爆int ...

  9. 存储过程 分页【NOT IN】和【>】效率大PK 千万级别数据测试结果

    use TTgoif exists (select * from sysobjects where name='Tonge')drop table Tongecreate table Tonge( I ...

  10. SCADA软件整体架构

    SCADA软件整体框架如下所示: 1.免费版本可以支持的IO容量为2048点,无运行时间限制. 2.免费版本仅支持本地Runtime运行,CLServer服务器只能运行24小时. 3.免费版本支持的驱 ...