源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 源代码经过编译以后变成计算机可以读懂可执行的二进制指令,就成为了软件。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
扩展资料
源代码主要有如下两种作用:
1、生成目标代码,即计算机可以识别的代码。
2、对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分不会在生成的程序中直接显示,也不参与编译。但是注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。
因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。
参考资料:
由题意(1)一个程序的算法步骤是可逆的;此叙述不正确,算法程序一般不可逆;(2)完成一件事情的算法不止一种;此叙述正确,完成一件事件可能有多种方法,则其算法不唯一;(3)设计算法要本着简单方便的原则,此叙述正确,算法的优劣就是要看设计的算法是否简单,方便使用.综上,(2)、(3)两个叙述是正确的故答案为(2)、(3)
exe文件是由某种编译系统将由相应的计算机语言编写的源程序代码编译成机器目标代码(可以理解为机器指令)文件。这种文件可以在 *** 作系统上直接运行。大多数exe的编译是不可逆的,即你无法通过exe文件得到相应的源程序文件。少数伪编译exe文件可以通过反编译获得其源代码,如vf程序编译的exe文件。
对于NET程序常用的保护措施有混淆、加密、加壳,但对应的有脱壳、解密、反混淆,虽然混淆是个不可逆的过程,但可以反混成尽量可读的代码。由于il与net语言的round-tripping,所以反编译在理论上是完全可行的,只是难度问题。我们现在能做的就是提高反编译的难度!所以想“让c#写的程序不被反编译”,期待VS2015的native。
MD5算法:
MD5的全称是Message-Digest Algorithm 5,它是基于Hash变换而来的,MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
md5是怎样进行加密的 :
这个要分步来讲 为了更好的明白 我们来举个例子来讲
如对一个字符串 "string" 进行加密 第一步 我们要把他转换成位 (MD5是对位进行 *** 作) 假如你连什么叫位也不懂 那下面就不用看了 老大 讲是简明易懂 不还是天书嘛
现在ME们假设 string 转换为 位后 是 1010000101110101 当然肯定不是 ME在这里只是把他当作是 因为ME可没功夫再把这个字符串一个个的转成位 。
所以后面你就权当他是 这个字符串 转换 成位的样子就行了
往后呢 就要对这个字节串 (就是前面那个都是1和0的一老串 东西了)进行补位 至于怎么补 很简单 只要使你的这个串的长度(有多少个1或者0就是有多长)补成比512的倍数(n倍)位少64位就成 当然这里的位不超过512 只要补到512少64位就成 补的规则嘛 很简单 就是在你的位后先补一个1 其它的补0 就成了 那么补位后 这个串变成 10100000101110101 1(先补的那个1)0000000
(总共512-64位) (一只:补了这么多 该补完了吧 一头:还差一点 一只:再吐血!!!!!!) 这些完成后还要在其后面补上一个64位的数据 当然这个数据也是有规定的(一只:屁话 要不分开来讲干嘛) 这个数据就是 原字节串的长度(当然这个长度已被转换成了64位 至此数据补 完 这样大家一看就能明白 其实补完后这串正好是512的倍数 512 N-64+64
至此前两步 补位和补数据长度完成了
以上就是关于什么是源代码,源代码通过怎样的方式可以成为软件全部的内容,包括:什么是源代码,源代码通过怎样的方式可以成为软件、下面3个关于算法的叙述:(1)一个程序的算法步骤是可逆的;(2)完成一件事情的算法不止一种;(3)设计、什么是exe,以及一般的EXE程序是用什么做的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)