找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

嵌入式开发从入门到放弃(三)

admin 2019-8-11 18:09 117人围观 嵌入式相关



声明:文章首张及封面图片来源于网络,侵删

接上篇,已经安装好了ubuntu和gcc、vim,在这篇文章中,介绍如何配置远程登录,和介绍gcc相关的一些概念。

远程登录ssh

什么是ssh?ssh是struts、spring、hibernate的框架集成...哦不,在这里说的是它是一种加密的网络传输协议,能在不安全的网络中为网络服务提供安全的传输环境。是Secure Shell(安全外壳协议)的缩写。通常用于远程登录,软件实现如OpenSSH等。

准备工作

为了能够是windows远程登录ubuntu,上一篇文章中已经下载好了操作软件XShell。把它解压到合适的位置之后,剩下的是要先进入ubuntu,安装ssh。

命令是:sudo apt-get install -y ssh



然后修改ssh的配置文件:



配置使用的端口:默认22



允许root账户登录:



然后重启系统。

在虚拟机中还需要对网络连接方式进行设置,是ubuntu和windows处以同一网段:



配置连接

重启虚拟机系统之后,打开XShell,快捷键Alt+N新建一个连接,可以在连接选项卡中按自己的习惯进行配置,其中主机是ubuntu的IP地址,ubuntuIP地址可以登录系统之后通过ifconfig命令查看。

这里我随意填写了一个IP地址,填写好之后点击"用户身份验证",输入用户名和密码:





确定之后,双击左侧新建的会话就可以登陆了:



GCC

通常大多数人认为GCC是一个C语言编译器,现在它已经是一个编译器集合,即GNU编译器集合(GNU Compier Collection),指一套编程语言的编译器。

编译程序

对于C语言来说,大家通常感觉是简单,但想深入或者提高水平比较难,确实,大学时候学的比较浅显,因为当时学习了之后,也不知道能做什么,不像C++,C#这些学习完就能开发出一个界面程序,虽然摸不着,至少看得见,心里的成就感不一样,所以觉得学习C就觉得没那么重要了。

对于C程序的编译过程是怎样的呢?拿我们都熟悉的hello world程序代码来举例。代码如下:



编译命令如下:
    gcc -o output input
    命令解释:

    -o是output的意思,表示输出。紧跟在后面的是准备输出的文件名,然后后面是输入文件的文件名

    完成命令如下:
      gcc -o main main.c



      没有错误,表示编译成功。运行一下:



      编译过程

      C语言的编译过程要经历预处理→编译→汇编→链接,最终编程可执行文件。

      预处理:
        gcc -E -o main.i main.c
        更改之后的C代码:





        生成的main.i文件内容太多了,可以直接打印输出看一下内容,比较关键的内容:



        在之前的学习中,都知道宏定义在预处理阶段会被替换,这么一看确实是这样。

        总结一下:在预处理阶段,需要把源文件包含的头文件插入到源文件中,将宏展开、根据条件编译命令选择要使用的代码段,把宏定义替换之后,将这些代码输入到.i文件中进一步处理。

        编译:

          gcc -S -o main.s main.i


          汇编:

            gcc -c -o main.o main.s


            链接:
              gcc -o main main.o


              使用如下命令可以查看编译过程的详细信息:
                gcc -v -o main main.c
                深层的概念暂不去深究。

                C语言学习重点

                1.掌握C语言常用的关键字及使用场景,及使用技巧。

                2.掌握位运算的典型操作。

                3.掌握常用的逻辑操作。

                相关内容下期补充,先到这里。欢迎持续关注~




                ----------------------------------------------------------------------------------------------------------------------
                我们尊重原创,也注重分享,文章来源于微信公众号:iOnestu,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
                ----------------------------------------------------------------------------------------------------------------------

                鲜花

                握手

                雷人

                路过

                鸡蛋

                yafeilinux和他的朋友们微信公众号二维码

                微信公众号

                专注于Qt嵌入式Linux开发等。扫一扫立即关注。

                Qt开源社区官方QQ群二维码

                QQ交流群

                欢迎加入QQ群大家庭,一起讨论学习!

                我有话说......