linux下c文件的编译(gcc的使用)


资料来源于B站牛耳教育视频,在B站搜索"【C/C++入门】 Linux编程入门第一课"   即可。(up主:C语言资源分享)


 

 

  1. 输入gcc hello.c ,然后回车,将会生成a.out,以绿色显示的文件  
  2. 输入gcc hello.c -o myhello.out 或者gcc hello.c -o myhello ,然后回车即可生成以绿色显示的文件(linux下文件可以没有后缀名)
  3. -l  链接库文件,库文件的名称通常是libxxx.a ,在输入的时候,lib可以简化为l,后缀也可以不要。 例如libm.a简化为-lm。            为什么需要链接到库的操作呢?原因如下,比如下面的代码直接用gcc hello.c 是编译不过的,会报错,因为虽然包含了math.h,但是sin函数其实只在math.h里声明了而已,并没有实现,而其实现在库中,因此编译的时候需要链接到库。
  4. #include 
    #include 
    int main()
    {
      printf("hello world!\n");
      printf("sin(5)=%f",sin(5));
      return 0;
    }

    输入 gcc hello.c -lm  ,将会生成绿色的a.out文件

  5. 或输入 gcc hello.c -o test -lm,  将生成以test命名的绿色文件

  6. 或输入 gcc hello.c -o test1 -L/usr/lib -lm  ,  将生成以test1命名的绿色文件。这里的 -L 的意思是告诉编译器到哪里去找我们要的链接库。

  7.  

  8. 4. -L ,如3中所示,告诉编译器到哪里去找链接库

  9. 5.ldd a.out  ,当已经生成好a.out执行文件以后,执行此命令,可以查看a.out用到了哪些库

  10. linux下c文件的编译(gcc的使用)_第1张图片

  11. 6. -c 只编译不链接

  12. 7. -S 生成汇编代码

  13. linux下c文件的编译(gcc的使用)_第2张图片

  14. 8. -E 只预编译

  15. linux下c文件的编译(gcc的使用)_第3张图片

你可能感兴趣的:(备忘,C,随笔,Linux)