linux C编程之一

 Linux环境C编程基础


一.编译
  1. /** 
  2.   name      hellword.c   
  3.   @author   hg 
  4. */  
  5.   
  6. int main()  
  7. {  
  8.     printf("Hello"n");  
  9.     return 0 ;  
  10. }  

    

     最简单的编译方法是 gcc  hellowrold.c 它会为目标程序生成默认的文件名a.out,直接执行该可执行文件,即可看到输出 。

 

     例如 在shell中输入以下命令:

            First    :  gcc  helloworld.c   ↙ (即输入回车键)        Result :即可生成a.out 可执行文件

            Second :   ./a.out                                                     Result  : 执行该文件,即可看到程序输出 。

 

      options为编译选项,GCC总共提供的编译选项超过100个,但只有少数几个会被频繁使用,我们仅对几个常用选项进行介绍。

 

    -o  含义:生成目标文件并且为指定生成的目标文件命名 ,

               例如:  gcc –o  helloworld   helloworld.c     那么生成的可执行文件为 hello ,而不是a.out

 

 

    -c  含义: -c选项告诉GCC仅把源代码编译为目标代码而跳过汇编和连接的步骤,默认生成文件名为 [file_name].o 。

           PS:  由于头文件以及引用关系, 我们同样要利用gcc –o  命令为了对相关目标文件进行编译,以便生成一个可执行文件。



假如有三个文件:且相互依赖:

主文件:  main.c 

  1. #include <stdio.h>  
  2.   
  3. #include "first_1.h"  
  4. #include "first_2.h"  
  5. int main()  
  6. {  
  7.     printf_str("This is linux c")  ;  
  8.     print_to_num(10) ;  
  9.     return 0 ;  
  10. }  

 

 
 

   两个头文件 

  1. /*printf_1.h */  
  2. #ifnde  _FIRST_H_  
  3. #define _FIRST_H_  
  4.    void printf_str(char *str);  
  5. #endif  
  6.   
  7. /*printf_2.h */  
  8.   
  9. #ifnde  _SECOND_H_  
  10. #define _FIRST_H_  
  11.    void print_to_num(int num);  
  12. #endif  
  13.    

  真正函数实现的源文件

  1. /*printf_1.c */ 
  2. #include <stdio.h>  
  3. #include "first_1.h"  
  4. void printf_str(char *str)  
  5. {  
  6.     printf("%s  . I am com" , str);  
  7. }  
  8.   
  9. /*printf_2.c */  
  10. #include <stdio.h>  
  11. #include "first_2.h"  
  12. void print_to_num(int value)  
  13. {  
  14.     int i = 0 ;  
  15.     for( ;i < value ;i++)  
  16.        printf("cur value is %d ##\n" , i);  
  17. }


则其编译方法为:

  1 、 编译:对不同的源文件生成目标文件(xxx.0)

                  gcc  -c   main.c               ↙         生成 main.o  目标文件

                  gcc  -c   printf_1.c           ↙         生成 printf_1.o 目标文件

                  gcc  -c   printf_2.c           ↙         生成 printf_2.o 目标文件

 

         2、 链接:将相关的目标文件链接起来,并形成可执行文件

                 gcc  -c  main   main.o  printf_1.0   printf_2.o             ↙   即可生成可执行文件main

 

         3、 输入 ./main  即可执行该文件并可看到我们程序结果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值