Linux(8)-Linux下的编程开发-C/C++、PHP、JAVA概述

Linux下的编程开发

  • 1.C/C++语言开发环境的搭建
  • 2.PHP开发环境搭建
  • 3.JAVA开发环境搭建

1.C/C++语言开发环境的搭建

方式1:文本编辑器+编译器(gcc/g++)

Ubuntu 下常用的文本编辑器:

  1. Gedit–语法高亮
  2. Vim–vi(无比强大无比难用)的改进。字符界面/图形界面(gVim)–支持鼠标操作
  3. Emacs-绑定了文本编辑功能的操作系统

Vim 与 Emacs 最强文本编辑器之争

方式2:C/C++语言集成开发环境–Eclipse

IBM公司,Eclipse基金会,JAVA编程,
主要技能–JAVA语言开发,
次要技能–C\C++语言项目开发、PHP语言项目开发
2001年IBM公司将Eclipse贡献给开源社区。

2.PHP开发环境搭建

PHP-Hypertext Preprocessor–脚本语言,用于处理动态网页。
PHP-1995年-拉斯姆斯·勒多夫–解释型语言。
php语言嵌入在HTML语言中,用“<?hph”作为开始,“?>”作为结束。两个标记之间的内容就是PHP语言。

静态网页 --HTML–HyperText Markup Language
–超文本标记语言–互联网刚开始的时候,用HTML进行排版。
–网页显示的流程:浏览器下载HTML语言写的网页,然后在本地解释为一张调整好的各种板式,字体,图片等内容的网页。

在客户端执行脚本–JavaScript
网页脚本语言–嵌入在HTML网页源码中–能够实现有意思的效果–图片移动、小游戏。网页开始变得有趣。
–网页显示流程:用户浏览器下载网页源码之后,除了按照HTML排版出网页之外。在本地还要运行JavaScript语言写的脚本。

在服务器端执行脚本–PHP
提供互动性,或者动态网页,但是运行在服务器端,不需要用户浏览器和电脑做过多的工作。
减少了客户端浏览器和计算机硬件不同带来的差异性,保证了网页的效果。

PHP开发环境搭建

  1. 安装Apache–Linux下的Web 服务器软件,对外提供Web服务。把你的电脑编程一个网站服务器。
> sudo apt-get install apache2 php5-mysql
> # 报错E: Package 'php5-mysql' has no installation candidate
> # 改为
> sudo apt-get install apache2 php5.6
  1. 验证Apache–利用浏览器访问http://127.0.0.1(网站首页),页面存放在/var/www/html/index.html
  2. 验证PHP–增加PHP页面至/var/www/html/index.php,添加完毕后访问http://127.0.0.1/index.php(能显示页面,没有例子显示的完全)
sudo gedit /var/www/index/idnex.php

idnex.php文件的内容为:

<html><body><h1>PHP works~</h1>
<p>This is the used to test PHP.</p>
<?php
phpinfo();
?>
</body></html>

demo–又见Helloworld

sudo gedit /var/www/index/test.php

Apache 依据.php的扩展名交由PHP解释器先处理,处理完了在返回给Apache,Apache再给浏览器。

<html><body><h1>My PHP test</h1>
<?php
printf("<B>Hello World!</B>");
?>
</body></html>
  1. PHP 脚本也可以不用在网页上,安装PHP解释器就可以当做一般编程语言来用了。
  2. 要做一个网站,后续应该还包括域名管理,站长收录之类的。
  3. 本科的时候上过一门课《网页与网站设计》,记得老师全程使用DreamVeaver,讲解时还是以图形界面操作方式为主。看完前端网页开发鄙视链,有些明白DreamVeaver就是个集成IDE呀。大概就是现在是文本编辑器的天下了吧。

3.JAVA开发环境搭建

除了C语言,最广泛应用的语言大概是Java了(写的有点早了)
Java语言在手机应用开发方面,简直无敌了。-- 跨平台,面向对象,范型编程
最初被命名为Oak,用于电视机、电话、闹钟、烤面包机等家用电器的控制和通讯
1995年5月–被命名为Java,逐渐成为重要的网络编程语言。

运行Java程序,既需要编译器,又需要解释器。

  1. 编译器–特殊结构二进制程序,计算机并不能直接执行
  2. 解释器–JRE–Java Run Time–解释二进制代码,实现跨平台编程

Java的理想–Write once, run anywhere.
程序员戏称–Write once, debug anywhere.

Java 开发工具–Java Development Kit–JDK

Java集成开发环境–Eclipse–老本行–煮豆燃豆萁。

  1. WorkSpace
  2. File-New-Java Project
  3. File-New-Package(Java项目是由一个个包组成的)
  4. File-New-Class(Java package 基于类)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode55 跳跃游戏 秒杀所有答案

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步&#xff0c;从位置 0 到达 位置 1, 然后再从位置 …

小谈Online-game服务器端设计(3)

下面我想来谈谈关于服务器上NPC的设计以及NPC智能等一些方面涉及到的问题。首先&#xff0c;我们需要知道什么是NPC&#xff0c;NPC需要做什么。NPC的全称是&#xff08;Non-Player Character&#xff09;&#xff0c;很显然&#xff0c;他是一个character&#xff0c;但不是玩…

小谈Online-game服务器端设计(4)

在这一章节&#xff0c;我想谈谈关于服务器端的脚本的相关设计。因为在上一章节里面&#xff0c;谈NPC智能相关的时候已经接触到一些脚本相关的东东了。还是先来谈谈脚本的作用吧。   在基于编译的服务器端程序中&#xff0c;是无法在程序的运行过程中构建一些东西的&#xf…

leetcode45 跳跃游戏II 秒杀所有答案

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

MachineLearning(7)-决策树基础+sklearn.DecisionTreeClassifier简单实践

sklearn.DecisionTreeClassifier决策树简单使用1.决策树算法基础2.sklearn.DecisionTreeClassifier简单实践2.1 决策树类2.3 决策树构建2.3.1全数据集拟合&#xff0c;决策树可视化2.3.2交叉验证实验2.3.3超参数搜索2.3.4模型保存与导入2.3.5固定随机数种子参考资料1.决策树算法…

游戏服务器体系结构

本文描述了一个我所设计的游戏服务器体系结构,其目的是实现游戏服务器的动态负载平衡,将对象从繁忙的服务器转移到相对空闲的服务器中.设计并没有经过具体的测试与验证,仅仅是将自己目前的一些想法记录下来.随着新构思的出现,可能会有所变化. 以下是服务器的逻辑视图,其中忽略…

游戏服务器架构探讨

要描述一项技术或是一个行业&#xff0c;一般都会从其最古老的历史开始说起&#xff0c;我本也想按着这个套路走&#xff0c;无奈本人乃一八零后小辈&#xff0c;没有经历过那些苦涩的却令人羡慕的单机游戏开发&#xff0c;也没有响当当的拿的出手的优秀作品&#xff0c;所以也…

leetcode72 编辑距离

给定两个单词 word1 和 word2&#xff0c;计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入: word1 "horse", word2 "ros" 输出: 3 解释: ho…

即时通讯系统架构

有过几款IM系统开发经历&#xff0c;目前有一款还在线上跑着。准备简单地介绍一下大型商业应用的IM系统的架构。设计这种架构比较重要的一点是低耦合&#xff0c;把整个系统设计成多个相互分离的子系统。我把整个系统分成下面几个部分&#xff1a;&#xff08;1&#xff09;状态…

leetcode303 区域和检索

给定一个整数数组 nums&#xff0c;求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和&#xff0c;包含 i, j 两点。 示例&#xff1a; 给定 nums [-2, 0, 3, -5, 2, -1]&#xff0c;求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0,…

算法(24)-股票买卖

股票买卖1.动态规划框架LeetCode-121 一次买卖LeetCode-122 不限次数LeetCode-309 不限次数冷冻期LeetCode-714 不限次数手续费LeetCode-123 两次买卖LeetCode-188 k次买卖2.贪心特解LeetCode-121 一次买卖LeetCode-122 不限次数解题思路参考buladong解题&#xff0c;详细信息可…

网络游戏的客户端同步问题 .

有关位置同步的方案实际上已经比较成熟&#xff0c;网上也有比较多的资料可供参考。在《带宽限制下的视觉实体属性传播》一文中&#xff0c;作者也简单提到了位置同步方案的构造过程&#xff0c;但涉及到细节的地方没有深入&#xff0c;这里专门针对这一主题做些回顾。 最直接的…

leetcode319 灯泡的开关

初始时有 n 个灯泡关闭。 第 1 轮&#xff0c;你打开所有的灯泡。 第 2 轮&#xff0c;每两个灯泡你关闭一次。 第 3 轮&#xff0c;每三个灯泡切换一次开关&#xff08;如果关闭则开启&#xff0c;如果开启则关闭&#xff09;。第 i 轮&#xff0c;每 i 个灯泡切换一次开关。 …

网游服务器端设计思考:心跳设计

网络游戏服务器的主要作用是模拟整个游戏世界&#xff0c;客户端用过网络连接把一些信息数据发给服务器&#xff0c;在操作合法的情况下&#xff0c;更新服务器上该客户端对应的player实体、所在场景等&#xff0c;并把这些操作及其影响广播出去。让别的客户端能显示这些操作。…

算法(25)-括号

各种括号1.LeetCode-22 括号生成--各种括号排列组合2.LeetCode-20 有效括号(是否)--堆栈3.LeetCode-32 最长有效括号(长度)--dp4.LeetCode-301删除无效括号 --多种删除方式1.LeetCode-22 括号生成–各种括号排列组合 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&a…

(二十)深入浅出TCPIP之epoll的一些思考

Epoll基本介绍 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于 select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd…

leetcode542 01矩阵

给定一个由 0 和 1 组成的矩阵&#xff0c;找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2: 输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0 1 0 1 2 1 注意: 给定矩阵的元素个数不超过 10000。…

RPC、RMI与MOM与组播 通信原理 .

远程过程调用&#xff08;RPC&#xff09;&#xff1a; 即对远程站点机上的过程进行调用。当站点机A上的一个进程调用另一个站点机上的过程时&#xff0c;A上的调用进程挂起&#xff0c;B上的被调用过程执行&#xff0c;并将结果返回给调用进程&#xff0c;使调用进程继续执行【…

网关服务器 .

之前想着要把什么什么给写一下&#xff0c;每次都太懒了&#xff0c;都是想起了才来写一下。今天只讨论游戏服务器的网关服务器。 1.转发 转发客户端和服务器间的消息&#xff0c;网关将场景、会话、数据、名字、平台等服务器的数据转发给客户端&#xff0c;接收客户端的数据&a…

算法(26)-最长系列

最长系列1.LeetCode-32 最长有效括号--子串2.LeetCode-300 最长上升子序列--长度3.LeetCode-32 最长回文子串--是什么5.LeetCode-512 最长回文子序列--长度6.LeetCode-1143 最长公共子序列--长度6.LeetCode-128 最长连续序列--长度7.LeetCode-14 最长公共前缀-字符串8.剑指offe…