美文网首页
如何开始?

如何开始?

作者: labi3285 | 来源:发表于2017-09-14 21:24 被阅读8次

    目标:在终端窗口打印Hello World。

    1、编写代码

    采用记事本或者XCode编辑代码,代码如下:

    //包含文件  
    #include <stdio.h>  
    
    //程序入口(主函数)  
    int main()  
    {  
        printf("HelloWolrd!\n");  // 输出部分    
        return 0;  
    } 
    

    将此文件以.c格式进行存储。

    2、编译和链接

    什么是编译和链接呢,上面我们做成的文件是一个文本文档,电脑是不能直接运行的,电脑只能识别二机制码,我们需要用开发工具将这个文本转化成二机制码。需要用到终端进行操作。
    打开终端,通过cd指令定位到程序所在目录(最初的操作都是从终端指令开始的,我们平时的鼠标等操作是系统屏蔽了这些基础细节),并通过ls指令查看当前目录下的所有文件:

    $ cd /Users/labi3285/Desktop/Study   
    $ ls  
    HelloWord.c  
    

    接着上面的步骤,通过cc -c指令生成.o文件:

    $ cc -c HelloWord.c   
    $ ls  
    HelloWord.c HelloWord.o  
    

    至此,我们的源文件已经转换为.o文件,该文件为二进制文件,但是该文件还不能被机器解读,因为该文件是独立的,系统并不知道里面调用的print方法以及其他的细节的作用(这些细节在别的文件里创建,这些细节由开发工具去做),为了生成完整的程序,我们就需要将该文件与其他资源进行整合,指令为cc:

    $ cc HelloWord.o  
    $ ls  
    HelloWord.c HelloWord.o a.out  
    

    可以发现,最终生成a.out文件,该文件即为最终生成文件,是不是想赶紧试试呢?
    执行该文件,直接./a.out即可:

    $ ./a.out   
    HelloWolrd!  
    

    程序正确输出结果!

    3、其他

    a、编译链接两个操作可以一步完成(cc指令),对于较小的程序可以采用这种方式;
    b、有多个文件时,链接要一起链接,各文件用空格隔开;
    c、编译用到的工具为:Apple LLVM 5.1 ,该工具在xcode内部集成。

    相关文章

      网友评论

          本文标题:如何开始?

          本文链接:https://www.haomeiwen.com/subject/gpljsxtx.html