嵌入式linux开发环境熟悉——第一个你好的话

  

1。前言:我对linux环境的一点认知

  

初学嵌入式linux,对于整个环境的认知,以及整个环境的操作非常重要。平时编程都是在集成开发环境下进行,比如VC6.0,写完代码后,直接按钮单击“编译”,点击”运行”,均是界面化操作。但各位开发程序猿们是否想过这集成开发环境的“编译”和“运行”是如何进行的?又是怎样一个过程?集成开发环境确实方便,直接通过按钮的点点就完成了想要的操作,但隐藏了内在的运行逻辑。

  

而linux下开发,就能让你的视野更有深度,整个过程没有集成开发环境,自己编辑代码,自己写编译过程,自己去运行,不再是通过按钮点点就能完成,你开发的过程就是个集成环境。因此linux下的开发,你能更有深度的去了解开发到运行的内在机理。

  

下面,笔者就跟的大家一起学习嵌入式Linux学习第一步——熟悉Linux开发环境,输出我的第一个字你好!

  

2。了解编译过程

  

通常情况所说的“编译”,编译的过程流程如下:

  

<强> C程序源文件(C) - - - - -预处理——》<强>(我文件)——编译- - -》<强>汇编文件(s) - - -汇编——》<强>目标文件(. o) - - -链接- - - - - -》<>强(可执行文件)

  

可执行文件可以直接被运行的文件,对于嵌入式Linux开发,可执行文件还需要转换成二进制文件(。本),才能烧写到控制器中。下面针对这个过程进行开发,在Linux下输出:

myhello词开始!

  

2.摄氏度程序源文件编辑

  
 <代码>编辑环境:窗户
  编辑器:源洞察力 
  

编写源程序,不管什么系统下,只要在任何一个代码编辑器中,都可以编写。这里选择在Windows的来源了解编辑器里写代码比较方便些。

  <人力资源/>   
      <李>建立一个myhello.c源文件   
  

嵌入式linux开发环境熟悉——第一个你好

     <李>对myhello.c源文件进行代码编写,并保存.main为函数入口,为了更深入了解编译文件之间联系,加入了HelloFunction()函数调用,然后再创立一个头文件和源文件来声明和定义HelloFunction()函数。
嵌入式linux开发环境熟悉——第一个你好      
 <代码> # include“stdio . h”
  # include“HelloPrint.h”
  int main ()
  {
  printf("开始\ n”);
  HelloFunction ();
  返回0;
  }
   
  

3。同理,创立一个HelloPrint.c源文件,来定义HelloFunction()函数。

  
 <代码> # include“stdio . h”
  # include“HelloPrint.h”
  空白HelloFunction ()
  {
  printf (" myhello词! \ n”);
  }
   
  

4。同理,创立一个HelloPrint头文件HelloPrint.h,来声明HelloFunction()函数。

  
 <代码>的ifndef __HelloPrint_H
  #定义__HelloPrint_H
  
  空白HelloFunction(无效);
  
  # endif  
  

2。自己写编译过程,makefile文件

  

makefile文件是整个编译过程的一个集合文件,事先将程序源文件的编译过程写到makefile文件里,以后只要在命令行下输入让命令,系统自动执行makefile文件里内容,<强>方便操作强。同时,makefile会自动根据目标文件是否改动,依赖文件是否更新,选择是否要编译,这样对于大量的程序文件来说,可以<强>减少编译时间 .makefile文件编写有具体规则形式,网上也有很多这方面资料。

  <人力资源/>   

makefile文件内容如下。其中你好文件是最终要生成的可执行文件,myhello。c和HelloPrint。c是编译原材料,采用gcc编译工具。

  
 <代码>你好:myhello。c HelloPrint.c
  gcc - o你好myhello。c HelloPrint.c
  清洁:
  rm你好 
  

3. linux下完成编译,运行

  

上面编写代码都是在Windows下完成,当然在Linux下也可以编写,但Windows下写方便些。写完以上代码和makefile文件后,需要上传上到虚拟机的Linux中。

  
 <代码>上传工具:一种上传软件(也可以用虚拟机里的VMware工具工具拉拽文件)
  
  SSH远程登录工具:SecureCRT(登录到linux服务器,在Windows下的SecureCRT软件里即可完成命令行操作),也可以直接在linux的终端操作命令行。

嵌入式linux开发环境熟悉——第一个你好的话