Linux中实现java和c语言打印Hello world小程序

1、C语言实现

先确认linux系统中是否gcc编译器,可以通过rpm -q gcc查询系统已经安装gcc软件包,如果没有安装可以到系统自带光盘里面安装相应的安装包软件。

图片1.png

使用rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm安装编译器,安装后再查询确认已经成功

图片2.png

环境准备好了,我们就可以编写C语言的代码了,我们可以使用vim编辑器编写第一个HelloWorld代码了

图片3.png

图片4.png

编写好代码后,我们知道程序代码需要编译成二进制程序,因此要得用Linux中的c的编译器gcc,因此我们使用gcc -c hello.c命令生成hello.o 的目标文件,然后再使用gcc -o hello hello.o 命令生成二进制可执行文件,当然gcc 不指定选项,直接只用gcc hello.c会在当前目录生成一个a.out的文件,这个文件就是可以运行的二进制的文件。

   当然我们为什么要加选项呢,我们知道c语言的功能实现,并不是一个c代码文件就能搞定,往往每个代码文件都有不同的功能,互相之间都会有调用,因此我们使用gcc -c 选项生成各自c代码文件的目标文件,以后单个c代码文件需要更新,我们直接编译单个c代码文件即可,而不需要重新编译其他的c代码文件,然后我们再说说 gcc -o 选项,就相当于gcc -c 生成的各自的以后缀为.o的文件,将多个以.o的文件封装为一个二进制可执行的文件,然后通过以上两种方式均可得到二进制可执行的文件,然后我们直接./a.out 或者./hello即可运行该程序。具体操作见下图:

图片5.png

图片6.png

图片7.png

通过以上简单的编译,以后我们就可以实现在linux系统里面实现c语言开发啦!

 

2、java语言实现

    同样我们需要先确认我们的linux系统是否有编译java语言的编译器,学习过java的都知道,想要运行java程序,需要安装jdk,Linux 上有 openjdk 和 Oracle 的 jdk 两种可选。    

    openjdk 一般用各Linux 发行版相应的软件包管理软件就可安装。Oracle 的可以到官网上下载 .rpm 格式的软件包安装或下载源码编译安装。下面我们介绍安装系统自带的jdk安装包,首先我们查看有哪些包可以供我们安装

图片8.png

    查询了下,系统自带的有以上这么多的jdk安装包可以供我们使用,我们安装了一个最新的jdk

图片9.png图片10.png

    安装后使用javac命令即可查看jdk是否安装成功,或者使用java -version查询jdk版本,也可以确定是否安装成功。

图片11.png

    环境配置好了,我们就可以编写linux上第一个java小程序代码了,首先使用vim hello.java创建一个java文件,然后进行编写java代码,其中需要注意的是文件名要得跟类名一致哦。

图片12.png

图片13.png

    写好,wq保存即可,然后我们使用javac 编译hello.java 文件,就会生成java.class可以在jvm上运行的二进制程序文件,然后我们使用java hello即可运行这个程序。

图片14.png

通过上面的简单编译运行,以后我们同样可以在linux上进行java语言的开发了,linux太强大了。

对于以上的总结,基本的C和JAVA的开发环境已经搭建好了,以后对这两种语言感兴趣的可以尝试在linux中编译一些简单的软件玩玩喽!


原创文章,作者:AndyIvanXue,如若转载,请注明出处:http://www.178linux.com/40608

赞 (0)
AndyIvanXueAndyIvanXue
上一篇 2016-08-26 15:32
下一篇 2016-08-27 11:03

相关推荐

  • 一个开发眼中的运维

    在云计算时代,开发和运维的结合变得越来越重要。在DIFF论坛第一期,前新浪SAE运维主管,郑志勇,分享了《一个开发眼中的运维》根据自己从开发人员转型运维之后的心得,谈如何把在开发上的运用抽象思维方式运用到运维领域。 1. 运维不是什么? 运维不是打杂的,运维不是客服,运维也不是服务开发的,但要做好合作。 2. 运维是什么? 运维服务于整个产品,保证架构合理,…

    Linux干货 2015-03-11
  • 对修改提示符引起的一些问题的理解

    有一个练习:提示符修改过后永久保存,每次打开一个新的shell,提示符都为已设定好的格式,不会因为打开新的shell而不同。 在做这个练习的时候遇到了不少问题,通过不断bing,将起初很陌生的问题一点点的解决,得到了一些理解,因此将理解写下来。 提示符与变量PS1有关,PS1的值可以被修改或重新赋予。PS1的值变,则提示符也会变。通过搜索得到只要在/etc/…

    Linux干货 2017-07-15
  • N24_阿龙弟弟 学习计划/目标/宣言

    嗨,大家好,这是我的第一篇文章。很高兴来到马帮门徒这个大家庭。 学习计划:没有自己的计划,跟着马哥课程的进度来吧,以周为单位,确保每周任务完成; 学习目标:掌握应有的运维能力,做一名合格的Linux运维工程师,提升自我价值,过更好的生活; 学习宣言:Be a better man(Not Only Linux)!

    Linux干货 2016-10-25
  • 第二章 linux高级命令的简单使用以及shell脚本的简单制作

    重定向;正则表达式;grep;sed;vim;yum;shell脚本

    Linux干货 2018-03-17
  • 基于ansible自动部署keepalived+nginx来调度amp

    实战作业: (1) 主/备模型的keepalived+nginx (2) httpd+php+php-mysql (3) mysql-server或mariadb-server         拥有testdb库,并允许testuser对其拥有所有权限 实验环境: 主机1:10.…

    Linux干货 2016-11-07
  • 基于haproxy的全站https

          前一段时间新疆等地用户访问国务院官网,在首页上发现大量淫秽信息及广告,后反映给相关工作人员。经排查,并非是网站被劫持和入侵,而是运营商流量劫持导致的这个结果……此处且不论该时间后续事宜,作为一名优秀的运维工程师,我们面对运营商如此流氓的行为,应该怎么办? 当然是全站HTTPS了,目前,百度、阿…

    2017-05-18