fbpx
维基百科

源代码

源代码(英語:Source code),是指一系列人类可读的计算机语言指令[1]

「源代码」的各地常用別名
中国大陸源代码、源码、源程序
臺灣原始碼、原始程式碼
港澳原始碼
馬新原始码

在现代程序语言中,源代码可以是以书籍或者磁带的形式出现;但最常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。

作用

源代码主要功用有如下2种作用:

  1. 生成目标代码,即计算机可以识别的代码。
  2. 对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员,都忽视软件说明的编写;因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习分享维护软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

需要指出的是,对于编译语言来说,例如C/C++/Java,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。但是目前有许多流行的脚本语言,例如Perl/Python都不需要重新编译,修改完代码可以直接执行看到修改的结果。

代码组合

源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。就目前的情况而言,很少有需要直接用汇编语言来编写的软件了,因为很多时候编译器生成的优化程序的运行效率已经很好了,更多的时候是用C/C++这样的编译语言来写核心需要速度的部分,用PerlPythonLua等这样的动态语言来做核心的扩展,例如界面,管理配置等等。这样既不会损失效率,也增加了程序的灵活性。

较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,版本控制系统(VCS)诞生了,并成为研发者对代码修订的必备工具之一。

还有另外一种组合:将为一种平台编写的软件移植到另外一种平台上,例如将Windows下的软件移植到Linux或者MacOS下,专业术语叫做软件移植。一般可以运行在多个平台下的软件叫做跨平台软件。

版权

如果按照源代码类型区分软件,通常被分为两类:自由软件专有软件。通常,自由软件不仅可以免费得到,而且公开源代码;相对应地,非自由软件则不公开源代码。通过非正常手段获得非自由软件源代码的各种行为都将被视为非法。

质量

对于计算机而言,并不存在真正意义上的“好”的源代码;好的源程序,首先要是正确的代码。然后是源程序的可维护性,好的程序风格将可以增强代码的可维护性。源代码是否具有可读性,成为代码品質/质量的标准之一。也有人将程序的效率放在可维护性之前。根据程序所要实现的功能和应用领域很多人对源代码品質/质量有着不同的看法。但是普遍达成一致的是品質/质量高的源程序就是正确的程序。

效率

虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是汇编语言生成的文件比用VB语言生成文件普遍要小的原因。然而,使用低级语言虽可提高运行效率,却会大大降低程序的开发效率,可能导致开发工作变得非常困难,因此多數程序员并不在意高级语言带来的运行效率损失,最多只在關鍵處使用低階語言。

註釋

  1. ^ (PDF). (原始内容 (PDF)存档于2015-02-23). 

參考文獻

  • (VEW04) "Using a Decompiler for Real-World Source Recovery", M. Van Emmerik and T. Waddington, the Working Conference on Reverse Engineering, Delft, Netherlands, 9–12 November 2004. .

外部連接

  • Source Code Definition (页面存档备份,存于互联网档案馆) by The Linux Information Project (LINFO)
  • Obligatory accreditation system for IT security products. MetaFilter.com. 22 September 2008 [2017-11-24]. (原始内容于2017-12-03). will introduce rules requiring foreign firms to disclose secret information about digital household appliances and other products from May next year, the Yomiuri Shimbun said, citing unnamed sources. If a company refuses to disclose information, China would ban it from exporting the product to the Chinese market or producing or selling it in China, the paper said. 
  • Same program written in multiple languages (页面存档备份,存于互联网档案馆
  • Javascript Obfuscator (页面存档备份,存于互联网档案馆

源代码, 此條目可能包含原创研究或未查证内容, 2013年11月23日, 请协助補充参考资料以改善这篇条目, 详细情况请参见讨论页, 关于电影, 請見, 电影, 英語, source, code, 是指一系列人类可读的计算机语言指令, 的各地常用別名中国大陸, 源码, 源程序臺灣原始碼, 原始程式碼港澳原始碼馬新原始码在现代程序语言中, 可以是以书籍或者磁带的形式出现, 但最常用的格式是文本文件, 这种典型格式的目的是为了编译出计算机程序, 计算机的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令, 这. 此條目可能包含原创研究或未查证内容 2013年11月23日 请协助補充参考资料以改善这篇条目 详细情况请参见讨论页 关于电影 請見 源代码 电影 源代码 英語 Source code 是指一系列人类可读的计算机语言指令 1 源代码 的各地常用別名中国大陸源代码 源码 源程序臺灣原始碼 原始程式碼港澳原始碼馬新原始码在现代程序语言中 源代码可以是以书籍或者磁带的形式出现 但最常用的格式是文本文件 这种典型格式的目的是为了编译出计算机程序 计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令 这种过程叫做编译 通过编译器完成 目录 1 作用 2 代码组合 3 版权 4 质量 5 效率 6 註釋 7 參考文獻 8 外部連接作用 编辑源代码主要功用有如下2种作用 生成目标代码 即计算机可以识别的代码 对软件进行说明 即对软件的编写进行说明 为数不少的初学者 甚至少数有经验的程序员 都忽视软件说明的编写 因为这部分虽然不会在生成的程序中直接显示 也不参与编译 但是说明对软件的学习 分享 维护和软件复用都有巨大的好处 因此 书写软件说明在业界被认为是能创造优秀程序的良好习惯 一些公司也硬性规定必须书写 需要指出的是 对于编译语言来说 例如C C Java 源代码的修改不能改变已经生成的目标代码 如果需要目标代码做出相应的修改 必须重新编译 但是目前有许多流行的脚本语言 例如Perl Python都不需要重新编译 修改完代码可以直接执行看到修改的结果 代码组合 编辑源代码作为软件的特殊部分 可能被包含在一个或多个文件中 一个程序不必用同一种格式的源代码书写 例如 一个程序如果有C语言库的支持 那么就可以用C语言 而另一部分为了达到比较高的运行效率 则可以用汇编语言编写 就目前的情况而言 很少有需要直接用汇编语言来编写的软件了 因为很多时候编译器生成的优化程序的运行效率已经很好了 更多的时候是用C C 这样的编译语言来写核心需要速度的部分 用Perl Python和Lua等这样的动态语言来做核心的扩展 例如界面 管理配置等等 这样既不会损失效率 也增加了程序的灵活性 较为复杂的软件 一般需要数十种甚至上百种的源代码的参与 为了降低种复杂度 必须引入一种可以描述各个源代码之间联系 并且如何正确编译的系统 在这样的背景下 版本控制系统 VCS 诞生了 并成为研发者对代码修订的必备工具之一 还有另外一种组合 将为一种平台编写的软件移植到另外一种平台上 例如将Windows下的软件移植到Linux或者MacOS下 专业术语叫做软件移植 一般可以运行在多个平台下的软件叫做跨平台软件 版权 编辑如果按照源代码类型区分软件 通常被分为两类 自由软件和专有软件 通常 自由软件不仅可以免费得到 而且公开源代码 相对应地 非自由软件则不公开源代码 通过非正常手段获得非自由软件源代码的各种行为都将被视为非法 质量 编辑对于计算机而言 并不存在真正意义上的 好 的源代码 好的源程序 首先要是正确的代码 然后是源程序的可维护性 好的程序风格将可以增强代码的可维护性 源代码是否具有可读性 成为代码品質 质量的标准之一 也有人将程序的效率放在可维护性之前 根据程序所要实现的功能和应用领域很多人对源代码品質 质量有着不同的看法 但是普遍达成一致的是品質 质量高的源程序就是正确的程序 效率 编辑虽然我们可以通过不同的语言来实现计算机的同一功能 但在执行效率上则存在不同 普遍规律是 越高级的语言 其执行效率越低 这也是汇编语言生成的文件比用VB语言生成文件普遍要小的原因 然而 使用低级语言虽可提高运行效率 却会大大降低程序的开发效率 可能导致开发工作变得非常困难 因此多數程序员并不在意高级语言带来的运行效率损失 最多只在關鍵處使用低階語言 註釋 编辑 Programming in C A Tutorial PDF 原始内容 PDF 存档于2015 02 23 參考文獻 编辑 VEW04 Using a Decompiler for Real World Source Recovery M Van Emmerik and T Waddington the Working Conference on Reverse Engineering Delft Netherlands 9 12 November 2004 Extended version of the paper 外部連接 编辑查看维基词典中的词条 code 或 source code 维基共享资源中相关的多媒体资源 源代码Source Code Definition 页面存档备份 存于互联网档案馆 by The Linux Information Project LINFO Obligatory accreditation system for IT security products MetaFilter com 22 September 2008 2017 11 24 原始内容存档于2017 12 03 will introduce rules requiring foreign firms to disclose secret information about digital household appliances and other products from May next year the Yomiuri Shimbun said citing unnamed sources If a company refuses to disclose information China would ban it from exporting the product to the Chinese market or producing or selling it in China the paper said Same program written in multiple languages 页面存档备份 存于互联网档案馆 Javascript Obfuscator 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 源代码 amp oldid 68029824, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。