Linux使用gcc进行编译


                  
   GCC可以将写成的C语言代码编译成为可执行文件。这里简单使用GCC编译器编译一个C语言文件。
   这里暂时用到俩个参数,gcc  -c 只编译源文件但不连接,会把.c和.cc的源程序变成目标文件
   gcc  -o  用于指定输出(out)文件名。不用-o的话,会在当前文件夹下生成默认的文件作为可执行程序。
   gcc编译过程是先把源文件(.c)编译成汇编码(.s),再把汇编码汇编成目标代码(.o),再链接成可执行程序(ELF)。(.o)是目标代码,已经是二进制的机器码了,所以用文本编辑器看会乱码。但还不能执行,还要链接才能执行。
   先在Linux下写个简单的hello  world
   下个简单的C语言文件hello.c(可以直接用vim进行敲代码)
   #include <stdio.h>
    int main(void)
   {
    printf("Hello World!\n");
    return 0;
    }
    C语言的定义比PHP要严格很多,这里仅仅作为演示。
    gcc  hello.c  -o  hello  
    把hello.c编译成可以执行文件hello
    然后./hello  (执行当前文件夹下的hello程序)
    如果切换到外层目录test  可以直接用  test/hello 就可以直接看到运行
    hello  world的结果。
   
   因为PHP的底层是C编写,要深入了解PHP,需要对C的基础语法做个整理:
1.标准库
#include <stdio.h>          :标准输入输出文件库
#include <stdlib.h>:标准文件操作库
#include <string.h>:字符处理函数库
2.每个程序里有个main()
 int  main()
 {
  int  a = 1;
  int   b = 2;
  int   sum =0;
 sum = func(a,b);
printf("%d",c);
 return 0;
 }
 int   func(int val1,int val2) {
  return  val1+val2;
 }
打包编译后,就可以打印出对应的val1和val2的值
特点:强类型,每个函数的返回值都需要定义,使用的每个变量也需要预先定义类型,否则是无法使用的。

你可能感兴趣的:(Linux使用gcc进行编译)