一、学习Linux开发的必要性

现在大部分的公司都改用Linux,尤其是银行。可见Linux是相对windows是安全的多。windows不是开源的,也就是你不知道它的源代码,我们无法或者很难在windows下面创建管理员用户,以管理员的身份去管理公司的服务器。如果微软想做一些手脚那是轻而易举的,而且还不被我们发现。Linux下就不同了,源代码是开源的。可以以管理员的身份管理公司里面近百万的服务器。如果源代码被做了手脚很容易就被发现。所以Linux要比windows安全的多。

Linux是一个领先的操作系统,可以运行在服务器和其他大型平台之上,如大型机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种,最快的前10名超级计算机运行的都是Linux操作系统。 Linux也广泛应用在嵌入式设备上,如手机、平板电脑、路由器、电视和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。

Linux将不会取代Windows成为主流的桌面操作环境, 但它很有可能在信息接入设备中独霸天下。 为什么Linux无法取代Windows呢?最主要的原因是大多数最终用户无法选择操作系统。 研究表明:用户在购买软件时,首先考虑的是自己的计算需求,其次才是运行这些软件 的计算机。目前的状况是:大部分软件是为PC机和Mac机开发,而这些机器运行的操作 系统绝大多数是Windows或Mac OS,可以在Linux平台上运行的应用软件还很少。不过 这种情况正在发生改变。Linux的支持者正在努力使Windows应用可以在Linux上运行。 例如,著名的桌面软件开发商Corel公司已经使其大多数产品能够在Linux上运行,其中 包括久负盛名的CorelDraw和WordPerfect。

要学习Linux开发当然不能只学习C++,也不能只学习Java。Linux开发有丰富的界面,完全没有想象中的那么难。下面以大家比较熟悉的Ubuntu x64系统为例分别介绍Linux C++和Java开发环境 。

二、准备工作

远程操作有时候更方便。下面准备一些远程操作必要的东西:SSH、VNC和SAMBA。

1、SSH和PUTTY

远程操作建议安装SSH,运行命令如下:

apt-get install openssh-server -y

安装成功后可以用PUTTY连接了。然后切换到root用户,运行命令:

sudo -i

输入当前用户的密码,而非root用户的密码,就可以切换到root用户。效果如下:

2、远程桌面和TigerVNC

Linux也有远程桌面,TigerVNC开源免费还很好用,比Ubuntu源里的VNC好用,可惜Ubuntu源本身不提供。先运行命令下载:

wget https://bintray.com/artifact/download/tigervnc/stable/ubuntu-14.04LTS/amd64/tigervncserver_1.4.3-3ubuntu1_amd64.deb

然后安装:

dpkg -i tigervncserver_1.4.3-3ubuntu1_amd64.deb

如果提示有依赖关系不满足的错误,不必手机一一安装依赖包,而是运行:

apt-get -f install

启动VNC服务器:

vncserver

此密码不是系统的用户密码,而是VNC连接校验密码,用于防止非法的VNC连接。现在可以在Windows操作Ubuntu了。双击运行vncviewer64-1.7.0.exe,效果如下:

注意TigerVNC客户端默认VNC服务器端口是5900+用户输入的端口号。我的服务器端口号是5901,所有我在连接的时候只输入IP:1就可以了,连接成功后效果如下:

3、Linux的Windows共享和SAMBA

Windows远程共享可以使用mount命令,代码如下:

mount -t cifs //<Windows共享IP>/共享文件夹路径 /media/<linux系统路径> -o username=你的用户名,password=你的密码

Samba是一个把Linux共享给Windows和打开Windows共享的工具,安装命令如下:

apt-get install samba samba-common -y

设置Linux共享和Windows的方法类似。打开Ubuntu文件管理器,选择要共享的文件夹,右键,选择共享,如下所示:

点击create share按钮就大功告成。

三、搭建Linux C++开发环境

1、安装基本编译环境

MinGW32也有x64位版本。运行命令:

apt-get install mingw32 mingw32-runtime mingw-w64 mingw-w64-common mingw-w64-x86-64-dev mingw-w64-tools -y

安装成功后通过命令查询安装结果:

2、安装GCC编译器

运行命令:

apt-get install gcc gcc-multilib gcc-multilib gcc-doc -y

安装成功后结果如下所示:

3、安装G++编译器

运行命令:

apt-get install g++ g++-multilib -y

安装成功后结果如下:

4、安装构建工具

运行命令:

apt-get install automake cmake autoconf -y

安装成功效果如下:

5、安装GDB调试器

运行命令:

apt-get install gdb gdb-doc gdb-mingw-w64 -y

特别说明一下:GDB64不是x64位系统的调试工具。安装成功后效果如下:

6、安装KDevelop

KDevelop是一款功能强大的集成开发环境应用程序。自带的代码补全、代码结构分析等功能不比Visual Studio差。KDevelop-Project诞生于1998年,其目的是为KDE提供一个易用的集成开发环境(Integrated Development Environment)。此后,KDevelop IDE采用GPL进行发布, 它支持很多程序设计语言。KDevelop目的是为KDE提供一个易用的集成开发环境(Integrated Development Environment)。此后,KDevelop IDE采用GPL进行发布,是一个支持多程序设计语言的集成开发环境。它运行于Linux和其它类Unix环境。它本身不包含编译器,而是调用其它编译器来编译程序。KDevelop 透过KParts框架使用编辑器组件。依赖Qt库,预设使用Kate。

运行命令:

apt-get install kdevelop kdevelop-dbg -y

7、检查C++开发环境是否安装成功

如果使用了多个终端,那么建议打开IDE之前注销后重新登录,以使环境变量的设置起作用。启动KDevelop,新建一个HelloWorld的控制台工程,所有设置使用向导的默认设置。效果如下:

点击Run菜单,点击Configuration Lauches菜单,选中hello工程,点击add new 按钮,选择Application,输入调试方案名称:debug,点击ok按钮。

点击build按钮,显示编译成功,效果如下:

点击Excute按钮,会看到输出文字:Hello World!。至此C++开发环境配置成功结束。

四、搭建Java开发环境

Oracle官方网站只提供了适用于Rad Hat和CentOS系列的Java安装包,很多人使用alien工具把rpm格式的安装包转换成deb格式。其实完全没有必要性。下面一步一步配置Java开发环境。首先下载JDK和Eclipse。JDK的下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。注意下载tar.gz格式的压缩包,而不是下载rpm安装包。Eclipse的下载链接:http://www.eclipse.org/downloads/eclipse-packages/。建议下载 J2EE,下载J2SE版本的也是可以的。都在Ubuntu系统里下载,下载都保存到Downloads文件夹下。

1、配置JDK

JDK其实不需要安装,包压缩包解压到特定位置以后把环境变量指向解压的位置即可。运行命令:

mkdir /usr/local/java
cd /usr/local/java
chown -R caowei ./
exit
chmod 755 -R ./
tar -xvf ~/Downloads/jdk-8u101-linux-x64.tar.gz

注意不要使用zip解压。运行命令:

sudo vim /etc/profile

如果提示没有vim则请先安装vim。在文本末尾追加:

export JAVA_HOME=/usr/local/java/jdk1.8.0_101
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHexport JAVA_HOME JRE_HOME CLASSPATH PATH

检查环境变量是否设置成功:

source /etc/profile
java -version

如果报告Java的版本是1.8则配置成功,注销重新登录。如果不愿意重新。 否则千万不能注销,而是返回修改直至修改正确。直接注销会导致系统故障。

2、配置Eclipse

eclipse工具还是不用介绍了吧。首先创建用于放置eclipse的文件夹,把eclipse解压到这里:

sudo mkdir /usr/local/eclipse
cd /usr/local/eclipse
sudo chown -R caowei ./
chmod 777 -R ./
tar -xvf eclipse-jee-neon-R-linux-gtk-x86_64.tar.gz
mv eclipse j2ee

然后创建eclipse到桌面的快捷方式:

cd ~/Desktop
ln -s /usr/local/eclipse/j2ee/eclipse eclipse

3、检查Java开发环境

从ubuntu桌面启动eclipse,效果如下:

新建一个hello的java工程,添加一个类型为HelloWorld,使用向导增加main方法,增加一句输出代码,点击一下运行按钮,效果如下:

至此Java开发环境配置成功。

五、总结

1、搭建C++开发环境需要MinGW、GCC、G++、CMake和GDB。

2、KDevelop只是一个辅助IDE,还有其它的IDE比如CodeLite、CodeBlocks等,也很不错。

3、QT安装比较简单,这里不作详细介绍。

Linux开发环境配置相关推荐

  1. 架设游戏mysql_《从零开始搭建游戏服务器》MySQL安装配置

    一.下载资源: 二.解压配置: 将上面下载的安装包解压到一个本地目录下,在得到的mysql-5.7.19-winx64文件夹目录下新建一个my.ini配置文件,将几个参数根据当前目录修改一下,要修改的 ...

  2. Linux 开发环境配置(框架)

    Linux 开发环境配置(框架): 一.安装linux 二.配置网络: 1.virtualbox网络配置为桥接模式 2.ifconfig -a 命令 查看网卡的信息 3.配置CentOS网卡 vi / ...

  3. Linux开发环境配置--正点原子阿尔法开发板

    Linux开发环境配置–正点原子阿尔法开发板 文章目录 Linux开发环境配置--正点原子阿尔法开发板 1.网络环境设置 1.1添加网络适配器 1.2虚拟网络编辑器设置 1.3Ubuntu和Windo ...

  4. 【centos8服务器的开发环境配置及常用工具安装】

    centos8服务器的开发环境配置及常用工具安装(不定时更新) 文章目录 centos8服务器的开发环境配置及常用工具安装(不定时更新) 一.安装yum 二.安装unzip命令 三.安装jdk8 四. ...

  5. 《从零开始搭建游戏服务器》Linux开发环境配置

    前言: 之前的开发工作一直是在Windows开发环境下进行的,但是正真发布和外网运营势必要发布到Linux环境下,而且有很多服务端的工具对于Windows系统的兼容性并不是非常完善,就像常用的Dock ...

  6. linux c++开发环境_使用 VM VirtualBox 搭建完善的Linux开发环境

    导读 在上一篇文章中说到使用 微软window10的linux子系统,搭建一个轻量高效的linux系统. 实际使用由于window不提供center os 跟线上环境有差异并且由于与本机服务融合在一起 ...

  7. 使用qemu搭建arm嵌入式linux开发环境

    qemu搭建arm虚拟嵌入式linux开发环境 1.前言 1.安装qemu与arm交叉编译工具 2.Linux内核与设备树编译 3.busybox根文件系统制作 4.使用u-boot加载Linux内核 ...

  8. flex java 开发环境搭建_Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立) 2019年12月07日 阅读数:7 这篇文章主要向大家介绍Flex+JAVA+BlazeDS开发环境配置(Java工程 ...

  9. qemu搭建arm嵌入式linux开发环境

    一.基本概念 1.交叉编译 交叉编译(Cross_Compile)是指编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台. 2.bootloader BootLoader是在操作系统内核运行 ...

最新文章

  1. c++程序设计梳理(谭浩强)3-4章
  2. FPGA之道(84)功能仿真之Verilog Test Fixture
  3. 北京低利用率数据中心将有序关闭腾退
  4. ThreadPoolExecutor运转机制详解(转)
  5. python函数的作用复用代码_Python-函数和代码复用
  6. 【kruskal】【倍增】严格次小生成树(P4180)
  7. jquery动态插入行,不用拼写html,简洁版
  8. (转)淘淘商城系列——Solr集群搭建
  9. 2、Python_Day_1_作业
  10. 无线传感器网络技术原理及应用 知识点
  11. QQ截图取色器:没有吸管工具的情况下,跨软件随时随地快捷取色
  12. dd命令烧写superboot.bin
  13. Ubuntu安装python步骤
  14. QT中的.pro文件,以及.pri .prj .prl文件说明
  15. wex5 mysql root密码_WeX5基础
  16. 中关村-DIY之笔记本做wifi热点供手机无线上网
  17. c语言中 让小球 发射小球,小球发射问题求大神解决(让小球向鼠标蓄力方向发射)...
  18. 网站WEB都有哪些攻击?
  19. python代码画樱花主要特色,手机python代码画樱花
  20. Android 常用API自查表(二)

热门文章

  1. matlab中acos得到的弧度范围,matlab角度弧度
  2. session在PHP中的用法,PHP中session使用方法详解
  3. bluehost php 设置,BlueHost主机PHP版本设置
  4. linux通过configfs方式开启uvc、uac、adb等功能
  5. 转载:: 完全用命令行工作-4: 苹果图形界面脚本化
  6. 【js练习】自动手动获取焦点、失去焦点事件
  7. 文摘:成人呈现期研究
  8. form表单动态设置enctype不生效问题
  9. 科技英语计算机单元答案,科技英语部分课后练习答案.ppt
  10. 晶圆切割机的新工艺研究