程序和源程序的區(qū)別 匯編程序和匯編源程序有什么區(qū)別??jī)烧叩淖饔檬鞘裁矗?/h1>
匯編程序和匯編源程序有什么區(qū)別??jī)烧叩淖饔檬鞘裁??匯編程序相當(dāng)于編譯器吧,高級(jí)語(yǔ)言叫編譯器,匯編語(yǔ)言叫匯編器,也就是匯編程序。匯編源程序當(dāng)然是用戶寫(xiě)的源代碼了。匯編程序輸入的是用匯編語(yǔ)言書(shū)寫(xiě)的源程序,
匯編程序和匯編源程序有什么區(qū)別??jī)烧叩淖饔檬鞘裁矗?/h2>
匯編程序相當(dāng)于編譯器吧,高級(jí)語(yǔ)言叫編譯器,匯編語(yǔ)言叫匯編器,也就是匯編程序。匯編源程序當(dāng)然是用戶寫(xiě)的源代碼了。匯編程序輸入的是用匯編語(yǔ)言書(shū)寫(xiě)的源程序,輸出的是用機(jī)器語(yǔ)言表示的目標(biāo)程序.編譯器你不會(huì)不知道吧。匯編源程序當(dāng)然就是源代碼,你不會(huì)不知道吧,源代碼就是文本形式的代碼,還沒(méi)編譯連接成為可執(zhí)行程序。
匯編程序與程序代碼是什么關(guān)系?
感謝邀請(qǐng)。
首先要弄清楚問(wèn)題,根據(jù)自己的理解我把問(wèn)題重新翻譯一下歡迎指正:
匯編程序代碼與非匯編程序代碼(比如c語(yǔ)言,C#,Java)有什么關(guān)系?
1.匯編語(yǔ)言是一種面向CPU的低級(jí)語(yǔ)言,它是與CPU指令集一一對(duì)應(yīng)的助記符號(hào),匯編語(yǔ)言寫(xiě)完后簡(jiǎn)單解釋就可直接轉(zhuǎn)化為機(jī)器可以識(shí)別的機(jī)器語(yǔ)言,中間不需要其他過(guò)程所以效率很高
2.普通的非匯編程序代碼(比如C語(yǔ)言,C#,Java等)屬于面向程序員的高級(jí)語(yǔ)言,它更接近人的思維,語(yǔ)法相對(duì)固定,只有通過(guò)特定編譯規(guī)則的編譯器進(jìn)行編譯才能轉(zhuǎn)化成機(jī)器可以識(shí)別的機(jī)器語(yǔ)言,所以效率相對(duì)匯編語(yǔ)言來(lái)說(shuō)較低。
分開(kāi)來(lái)看1和2都是獨(dú)立的計(jì)算機(jī)語(yǔ)言,都可以在各自擅長(zhǎng)的領(lǐng)域進(jìn)行軟件開(kāi)發(fā),沒(méi)有直接的關(guān)系。
但是高級(jí)語(yǔ)言在編譯后生成二進(jìn)制可執(zhí)行程序過(guò)程中會(huì)轉(zhuǎn)化成匯編語(yǔ)言,所以很多破解軟件利用反匯編技術(shù)把源代碼還原分析找出漏洞加以破解,同樣我們也可以利用這個(gè)機(jī)制
來(lái)深度調(diào)試程序分析bug。
VisualStudio開(kāi)發(fā)時(shí) 當(dāng)程序運(yùn)行到斷點(diǎn)處停止依次點(diǎn)擊調(diào)試->窗口->反匯編;英文顯示為"Debug"下的"Windows"子菜單,選擇"Disassembly" 來(lái)查看匯編代碼。
Java開(kāi)發(fā)時(shí)需要用HSDIS插件來(lái)查看匯編代碼。
匯編語(yǔ)言與其他語(yǔ)言沒(méi)有直接關(guān)系,換個(gè)角度考慮高級(jí)語(yǔ)言(C語(yǔ)言,Java語(yǔ)言等)編譯時(shí)
會(huì)生成匯編代碼進(jìn)而轉(zhuǎn)化成二進(jìn)制可執(zhí)行程序,存在這種關(guān)系。
歡迎留言討論,也歡迎私信。
源程序,目標(biāo)程序,匯編程序,可執(zhí)行程序的區(qū)別?
D 編譯。編譯程序、解釋程序、匯編程序是3種語(yǔ)言處理程序。其區(qū)別主要為:匯編程序(為低級(jí)服務(wù))是將匯編語(yǔ)言書(shū)寫(xiě)的源程序翻譯成由機(jī)器指令和其他信息組成的目標(biāo)程序。解釋程序(為高級(jí)服務(wù))直接執(zhí)行源程序或源程序的內(nèi)部形式,一般是讀一句源程序,翻譯一句,執(zhí)行一句,不產(chǎn)生目標(biāo)代碼,如BASIC解釋程序。編譯程序(為高級(jí)服務(wù))是將高級(jí)語(yǔ)言書(shū)寫(xiě)的源程序翻譯成與之等價(jià)的低級(jí)語(yǔ)言的目標(biāo)程序。編譯程序與解釋程序最大的區(qū)別之一在于前者生成目標(biāo)代碼,而后者不生成;此外,前者產(chǎn)生的目標(biāo)代碼的執(zhí)行速度比解釋程序的執(zhí)行速度要快;后者人機(jī)交互好,適于初學(xué)者使用。用COBOL、FORTRAN等語(yǔ)言編寫(xiě)的程序考慮到執(zhí)行速度一般都是編譯執(zhí)行。
匯編程序和C語(yǔ)言源程序都是屬于應(yīng)用軟件的?
都不是應(yīng)用程序 匯編語(yǔ)言是針對(duì)CPU說(shuō)話的,C語(yǔ)言的源程序和文本差不多,但在C語(yǔ)言程序系統(tǒng)下可以生成應(yīng)用軟件 應(yīng)用軟件的擴(kuò)展名一般是.exe或.dll(不包括屏幕保護(hù)系統(tǒng)) 匯編語(yǔ)言可以用一些輔助文件生成.exe文件,但不能直接調(diào)用,要通過(guò)debug命令調(diào)用
項(xiàng)目開(kāi)發(fā)完,對(duì)方不給源代碼怎么辦?
先要看合同的性質(zhì),如果是委托合同,要看具體委托內(nèi)容,如果是承攬合同,通常不涉及源代碼。
再看項(xiàng)目性質(zhì),如果是應(yīng)用項(xiàng)目,不給源代碼是常例,給是特例,需要特別約定。如果是開(kāi)發(fā)項(xiàng)目,則需要有針對(duì)著作權(quán)的特別約定。
微軟也好,IBM也好,甲骨文也好,都有承攬大量的應(yīng)用項(xiàng)目,極少有提供源代碼的。
至于運(yùn)維,涉及產(chǎn)品質(zhì)量的,按照《中華人民共和國(guó)產(chǎn)品質(zhì)量法》第四章的規(guī)定辦理。涉及運(yùn)行的,需要合同明確約定。沒(méi)有約定的,開(kāi)發(fā)方不承擔(dān)運(yùn)行責(zé)任。
至于不交接,這就屬于債務(wù)糾紛了,如果存在順序覆行義務(wù),那可以按覆行順序主張權(quán)利。比如付款——交付,還是交付——付款。
如果雙方?jīng)]有訂立書(shū)面合同,而對(duì)當(dāng)時(shí)的約定理解又有分岐,那就坐下來(lái)談吧,總能找到辦法。
如果什么都沒(méi)有,那就憑交情吧,幫忙的事兒,也不會(huì)有多少約定。
如果既沒(méi)合同,又不能坐下來(lái)談,也沒(méi)交情,把錢(qián)還給了,人家不覆行交付義務(wù),那就活該了?;蛟S,搜集一下證據(jù),打官司吧,但愿能挽回些損失。祝好運(yùn)。