语言翻译

Plugs介绍(翻译)---- C#开源操作系统学习系列六

醉酒当歌 提交于 2020-03-16 18:59:07
某厂面试归来,发现自己落伍了!>>> 原文地址: http://www.codeproject.com/KB/cs/CosmosPlugs.aspx 介绍 这篇文章将展示在COSMOS中如何实现基于WINDOWS API调用和内部调用的.net代码。另外,也包含了如何使用COSMOS,汇编或者X#语言与硬件直接进行交互。 Cosmos 是什么 Cosmos一个使用Visual Studio作为开发环境的操作系统开发工具(development kit)。尽管如此,任何基于.net的语言,包括VB.NET,Fortran,Delphi Prism,IronPython,F#等等都可以用来进行开发。Cosmos本省和内核运行都是使用C# 来写的,所以命名为Cosmos。而且,NOSMOS(.NET Open Source Managed Operating System)听起来太蠢了。 Cosmos不是传统意义上的操作系统,它更应该叫做操作系统工具(Operating System Kit) ,或者正如我所说的叫做“Operating System Legos”(不知如何翻译,嘿嘿)。Cosmos让您能像使用Visual Studio和C#创建应用程序一样创建操作系统。大部分用户可以在几分钟之内自己写和引导一个他们自己的操作系统,所有这些都可以在Visual Studio中完成

编译型语言、解释型语言、脚本语言的区别

谁说我不能喝 提交于 2020-03-14 18:42:03
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 把高级语言翻译成机器语言的两种方式:一种是编译,一种是解释。两种方式只是翻译的时间不通。 1.编译 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。 最典型的例子就是C语言。 2.解释 解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。 此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。 用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。 再换成C#,C#首先是通过编译器将C#文件编译成IL文件

(翻译)LearnVSXNow! #11- 测试package

时光怂恿深爱的人放手 提交于 2020-03-13 11:33:28
在前面的文章里,当我们创建package的时候,总是在向导那里勾掉测试选项,从而不采用自动测试的方式,只是手动的测试它:把package运行起来,并且看看它是否有我们预期的功能。 我之所以勾掉测试选项,并不是因为我讨厌测试,而是我认为package的测试应该作为一个主题单独来讲,需要至少一篇专门的文章来叙述它。坦率的讲,当我在第10篇里写VsxTools的代码的时候,我真的觉得我们缺少了测试这一步:我写了几百行代码了,如何保证它的正确性? 关于测试,有很多很好的书和文章,所以在这篇文章里我不打算再写一篇类似的文章。我虽然是一个测试驱动开发的粉丝,但并不是一个测试专家。所以在这篇文章里我只是讲一些和VSPackage测试相关的基本问题。 我相信VSPackage的自动化测试能带给我们很大的帮助。但我并不会很深入的讲解VSPackage的测试方法,我只是给你们展示一下如何进行VSPackage的测试,这样你们就可以利用VSPackage的测试来帮助你们测试package的正确性。 所以,我假定你们已经了解了单元测试的基本知识,并且知道如何利用Visual Studio进行单元测试。如果你觉得自己还不了解这些,请访问MSDN,你一定会从上面找到相关的信息。 Visual Studio 2005和2008的Team System有专门相对于测试人员的版本。幸运的是,就算是Visual

软件I18N/L10N软件国际化与本地化

喜夏-厌秋 提交于 2020-03-12 16:08:10
I18N/L10N:是指软件的国际化和本地化,通俗的讲就是语言的国际化和本地化。国际语言:英语、汉语、德语... 本地化:繁体、简体、藏语...国家内部的语言。 I18N: 软件国际化,即internationalization 一个过程,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”,通过修改代码来实现代码的文化独立性,即代码不依赖与任何特定文化的信息。L18n是一个代码修改的过程,目的是实现代码完全独立与任何特定的 文化信息。这类信息保存在外部文件中,在程序运行的时候被装入。这样就不光要把所有与特定文化有关的字符串都抽取出来放在外部的文件中,还要把图标,图片 从程序中抽取出来,以文本的形式表示。L18n支持的语言有很多,公司里目前支持的语言有:中文、德文、意大利文、日文、繁体中文、西班牙文、葡萄牙文、韩文、瑞典文、英文。 L10N:软件本地化,即localization 的缩写形式,意即在 l 和 n 之间有 10 个字母,本意是指软件的“本地化”。最初的软件只有英文版本,根据需要,作者再把软件界面和 文档翻译成不同国家、地区的语言版本。但是由于实现翻译的途径、翻译的工作效率、翻译的可重用性等因素各不相同,使翻译工作面临很大困境,也阻碍了软件的 推广和应用。为了方便地将软件翻译成不同语言的版本,就需要一套翻译规范和通用工具,这就导致了“国际化”机制的出现

解释型语言与编译型语言的区别?

岁酱吖の 提交于 2020-03-08 08:02:25
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 C/C++ 等都是编译型语言,而php,Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。 在运行的时候,由JVM将字节码再翻译成机器语言。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。javascript,asp,php都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。 脚本语言是一种解释性的语言,例如javascript,php等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话 就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序 执行效率高。 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写 的程序。

Javaweb-JSP语法(2)

╄→гoц情女王★ 提交于 2020-03-07 02:54:52
jsp 头部的 page 指令 jsp 的 page 指令可以修改 jsp 页面中一些重要的属性,或者行为。 < %@ page contentType = "text/html;charset=UTF-8" language = "java" % > language 属性 表示 jsp 翻译后是什么语言文件。暂时只支持 java。 contentType 属性 表示 jsp 返回的数据类型是什么。也是源码中 response.setContentType()参数值 pageEncoding 属性 表示当前 jsp 页面文件本身的字符集。 import 属性 跟 java 源代码中一样。用于导包,导类。 两个属性是给 out 输出流使用 autoFlush 属性 设置当 out 输出流缓冲区满了之后,是否自动刷新冲级区。默认值是 true。 buffer 属性 设置 out 缓冲区的大小。默认是 8kb 缓冲区溢出错误:out缓冲区满了之后不能自动刷新,就会报错 两个属性是给 out 输出流使用 errorPage 属性 设置当 jsp 页面运行时出错,自动跳转去的错误页面路径。 isErrorPage 属性 设置当前 jsp 页面是否是错误信息页面。默认是 false。如果是 true 可以 获取异常信息。 session 属性 设置访问当前 jsp 页面,是否会创建

jsp、EL表达式及jstl的介绍与注意事项

我怕爱的太早我们不能终老 提交于 2020-03-06 09:12:15
Jsp (是一个简化的servlet设计) servlet技术:在java代码中嵌套html.擅长java代码编写 Jsp技术: html输出时比较便捷,在html中嵌套java代码.擅长页面显 Jsp的传统标签:脚本、指令、标签 脚本:是jsp中嵌入的java代码 指令作用就是申明页面的属性 标签分为jsp子代内置标签和通过taglib指令来使用jsp标签库,或自定义标签 jsp脚本和注释 1.jsp脚本: 1)<%java代码%> ---内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ---会翻译成service方法内部out.print() 3)<%!java代码,方法,属性%> ----会被翻译成service的成员内容,声明方法和属性(全局变量) jsp注释:(不同的注释可见范围不同) 1) Html注释:<!--注释内容--> 可见范围jsp源码、翻译后的servlet、页面显示html源码 2) java注释://单行注释 /*多行注释*/ 可见范围jsp源码、翻译后的servlet 3 ) jsp注释<%--注释内容--%> 可见范围jsp源码 2.jsp运行原理----jsp本质就是servlet jsp在第一次被访问时会被Web容器翻译成servlet,再执行 过程: 第一次访问--->helloServlet.jsp----

Data Structures[翻译]

a 夏天 提交于 2020-03-05 14:24:52
Data Structures 【原文见: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=dataStructures 】 作者 By timmac TopCoder Member 翻译 农夫三拳@seu drizzlecrj@gmail.com 即使计算机能够毫不夸张的每秒执行上百万次的数学运算,当一个问题变得庞大且复杂时,性能仍然是一个很重要的考虑方面。最至关紧要的关于快速解决问题的方面之一就是数据在内存中是如何存储的。 为了举例说明这点,可以试想你进入一个图书馆去查找某个学科的一本书。最有可能的是你能够使用一些电子参考或者在最坏情况下,有一个卡片目录来帮助你找到你想要的书的名称和作者。由于书籍都是按目录进行排放的并且在每一个目录中是按照作者的姓名排序的,因此这是一个直接并且轻松的过程,那么然后你就可以在书架上找到你想要的书了。 现在,假定你去图书馆找一本特定的书,然而这里没有排放好的书架,只有在房间角落有一些排成行的袋子,里面放满了可能相关可能不相关的书。这样就可能需要数个小时甚至数天来找到你需要的书了,这是一个对比性强的道理。这就是数据在没有存储为与应用相关的格式时软件运行的情况。 简单的数据结构(Simple Data Structures) 最简单的数据结构是原生的变量。他们存放单个值,并且使用中受限

Java的运行原理

允我心安 提交于 2020-03-05 03:20:16
在 Java 中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在 Java 中,这种供虚拟机理解的代码叫做 字节码 (ByteCode)(class文件的内容) ,它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。 Java 源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。 跨平台: 话说,在北京,一般都是讲北京话的,上海,一般都是将上海话,广东,广东话... 现有一公文发出,要全国执行,该当如何?——先统一翻译成普通话。各地在将普通话版本翻译成当地的方言。 这里,北京、上海就是不同类型的机器windows,linux... 编译(javac)就是将公文翻译成普通话的过程,而编译出的.class文件,就是公文的普通话版本。 在执行的时候,各地的翻译就是jvm,负责将.class转换成本地能够理解的方言来执行。 *.jav a→ *.class →机器码 java 编译器 ( 编译 ) → 虚拟机 ( 解释执行 ) → 解释器 ( 翻译 ) →

编译型语言和解释型语言

不羁的心 提交于 2020-03-04 09:44:02
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。 1).编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。    2).解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。 编译型语言和解释型语言的区别:前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言;而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、MATLAB 等等。 下面举个例子: 甲和乙同时读一本外国小说。 甲:一边看外国小说