回答:首先上結(jié)論:(1)不是所有的編程語(yǔ)言都要先編譯成C(2)甚至有編程語(yǔ)言連編譯成匯編這一步都跳過了。(3)不是所有的編程語(yǔ)言都需要編譯,有的是純解釋型語(yǔ)言1. 編程語(yǔ)言到硬件執(zhí)行之間到底發(fā)生了什么?硬件執(zhí)行的本質(zhì)就是一堆電子元件的開關(guān)動(dòng)作,開、關(guān)兩種狀態(tài)可以用二進(jìn)制的1和0來表示,這樣整個(gè)硬件的執(zhí)行就和二進(jìn)制對(duì)應(yīng)了起來。硬件是無(wú)法理解上層的高級(jí)編程語(yǔ)言的(比如Java、C++、C,、C#、Javas...
回答:反匯編程序。匯編語(yǔ)言絕對(duì)有用。如果能讀懂匯編語(yǔ)言的話,那程序反匯編之后,你也讀不懂。我曾經(jīng)自學(xué)過匯編語(yǔ)言,而學(xué)習(xí)匯編語(yǔ)言的目標(biāo)很簡(jiǎn)單,就是反匯編動(dòng)態(tài)跟蹤游戲,然后找到游戲的所謂的call。然后用其他的高級(jí)語(yǔ)言程序編寫外掛??梢酝瓿捎螒蛑械囊恍﹦?dòng)作,這種外掛被稱為內(nèi)存掛,效率要遠(yuǎn)遠(yuǎn)高于像按鍵精靈一樣的游戲外掛。如果您玩游戲的話又想自己寫外掛的話,這一個(gè)是必須學(xué)習(xí)的,不然的話你沒法做一個(gè)好的游戲輔助。...
回答:程序源碼被翻譯成機(jī)器碼之后才能被電腦執(zhí)行。通過匯編和反匯編,匯編語(yǔ)言和機(jī)器碼可以相互轉(zhuǎn)換。我的回答中就只說機(jī)器碼了。按照?qǐng)?zhí)行方式大致可將程序語(yǔ)言分成三類: 編譯方式 將源代碼翻譯成機(jī)器碼后執(zhí)行的方式。這種方式執(zhí)行速度快,但對(duì)操作系統(tǒng)有依存性。 混合方式 將源代碼翻譯成中間碼(如,字節(jié)碼)后,在有各OS上的虛擬機(jī)翻譯成其他語(yǔ)言或命令執(zhí)行?;蛘?,使用實(shí)時(shí)編譯(JIT)轉(zhuǎn)換成機(jī)器碼后執(zhí)行。 解釋方式 將...
回答:**1、C**C語(yǔ)言的應(yīng)用領(lǐng)域極為廣泛,從操作系統(tǒng)、嵌入式領(lǐng)域、數(shù)據(jù)庫(kù)、服務(wù)器、單片機(jī)、編譯器,到Linux開發(fā)等,幾乎每個(gè)領(lǐng)域都有其身影。對(duì)于新手來說,C語(yǔ)言起步難度較大,然而一旦穩(wěn)定掌握即可前途無(wú)憂,擁有3-5年開發(fā)C語(yǔ)言經(jīng)驗(yàn)的程序員月薪約為10-15k,而擁有5-10年工齡的碼農(nóng),月薪可達(dá)到25K-50K。C語(yǔ)言是一門非常基礎(chǔ)的必學(xué)語(yǔ)言,硬件開發(fā)行業(yè)對(duì)于優(yōu)秀的C語(yǔ)言開發(fā)者將是不錯(cuò)的選擇方向,...
回答:C語(yǔ)言作為一門偏底層的編程語(yǔ)言,涉及應(yīng)用的方面非常廣,嵌入式、驅(qū)動(dòng)、服務(wù)器等都有,日常編譯運(yùn)行的exe程序(黑框框)就是一個(gè)簡(jiǎn)單的應(yīng)用,這里簡(jiǎn)單介紹一下如何使用C語(yǔ)言編寫桌面GUI程序,主要用到GTK這個(gè)工具包,實(shí)驗(yàn)環(huán)境win10+CodeBlocks(其他C語(yǔ)言編程軟件也可以,VS、Dev-C++都行):1.首先,下載GTK,這個(gè)可以直接到CSDN上下載打包好的GTK-bundle包,地址htt...
回答:在多年以前,寫windows程序就是用c語(yǔ)言寫的,書名《Windows程序設(shè)計(jì)》,目前最新版好像是第7版,里面內(nèi)容就是講用C調(diào)用windows sdk來寫windows人窗口化程序的。linux中,也有許多的開源圖形庫(kù),可以用C語(yǔ)言來編寫linux下的圖形界面程序,目前比較流行的是qt庫(kù), 不過好像需要用C++開發(fā)。另外,我強(qiáng)烈建議不要用C語(yǔ)言去寫窗口化的程序,C語(yǔ)言并不擅長(zhǎng)這些。具體就看我在其它...
...和插座,從而來完成各種計(jì)算任務(wù) IBM的Plugboard 2 編譯=>匯編 代碼=>機(jī)器碼 代碼,到底是怎么變成一條條計(jì)算機(jī)指令,最后被CPU執(zhí)行的呢? test.c 編譯(Compile)成匯編代碼要讓這段程序在Linux跑起來,需要把整個(gè)程序翻譯成匯編...
...色呢? 聰明的你可能已經(jīng)想到,它只不過是另一種目標(biāo)匯編語(yǔ)言而已。從某種意義上來說,這種想法是對(duì)的,只不過圖中的 x86、ARM 等其實(shí)對(duì)應(yīng)的是一種特定的計(jì)算機(jī)架構(gòu)。 對(duì)于開發(fā)者來說,他所開發(fā)的代碼是希望能夠運(yùn)行在...
...序語(yǔ)言,C/C++、Java、Python、JavaScript、C#、Perl、Lua、Shell、匯編語(yǔ)言等等等等,只要是你寫出來的文本字符串能指揮計(jì)算機(jī)干活,這都叫程序。這些程序員認(rèn)識(shí)的文本字符串就是可以指揮計(jì)算機(jī)完成特定任務(wù)的指令。你可能有點(diǎn)糊...
...令集 Linux編譯器-gcc/g++背景知識(shí)gcc/g++的編譯預(yù)處理編譯匯編鏈接靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)gcc選項(xiàng) Linux調(diào)試器 - gdb背景知識(shí)gdb命令匯總 Linux項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefilemake/Makefile的重要性依賴關(guān)系和依賴方法應(yīng)用實(shí)例make的工作原理項(xiàng)...
...開始學(xué)起,莫名其妙的是編程語(yǔ)言仍然不是C語(yǔ)言,而是匯編語(yǔ)言,你沒看錯(cuò),就是那個(gè)連接機(jī)器語(yǔ)言和高級(jí)編程語(yǔ)言的橋梁的匯編語(yǔ)言。雖不能說匯編語(yǔ)言有什么不好,但我不禁要問現(xiàn)在哪個(gè)企業(yè)的項(xiàng)目還在使用匯編語(yǔ)言開發(fā)...
...怎么返回的?? ? ?在這篇博客里,我將帶領(lǐng)大家利用反匯編從底層上理解,不用擔(dān)心,都是零基礎(chǔ)入門的。當(dāng)你學(xué)完這篇博客去面試,面試官會(huì)非常高興,覺得這小伙子真??。所以學(xué)起來吧! ???作者概況:? 就讀南京郵電大...
...包括兩部分:1.dex反編譯,即smali語(yǔ)法學(xué)習(xí);2.Native層,arm匯編學(xué)習(xí)。 反編譯dex,Smali語(yǔ)法 工具 java環(huán)境不多說1.apktool.jar;2.jd-gui.jar;3.dex2jar.zip;這里就不提供了,畢竟自己動(dòng)手,豐衣足食,建議百度下載最新的版本,舊版本可...
...單了解1.2.1棧的定義1.2.2棧的結(jié)構(gòu) 二、寄存器與簡(jiǎn)單的匯編指令2.1寄存器的定義2.2寄存器的分類2.3簡(jiǎn)單的匯編指令 三、棧幀的創(chuàng)建于銷毀3.1調(diào)試——調(diào)用堆棧3.2調(diào)試——調(diào)用反匯編語(yǔ)言3.3調(diào)試——分析main函數(shù)的反匯編語(yǔ)言>引...
...是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼翻譯成匯編語(yǔ)言,然后進(jìn)一步根據(jù)軟硬件環(huán)境編譯成目標(biāo)文件。一般我們稱完成編譯工作的工具叫編譯器。而解釋型語(yǔ)言,在程序運(yùn)行時(shí)才被翻譯為機(jī)器語(yǔ)言。但是執(zhí)行一次...
...WebAssembly 是一種虛擬機(jī)器語(yǔ)言,所以它也有對(duì)應(yīng)的匯編語(yǔ)言版本,也就是 *.wat 文件,這是 WebAssembly 模塊的文本表示方法,采用S-表達(dá)式(S-Expressions)進(jìn)行描述,可以直接通過工具將 *.wat 文件編譯為 *.wasm 文件。熟...
...ssembly 沒概念,建議先讀這里(中文文章)。 理解什么是匯編,以及編譯器如何生成它,對(duì)于理解 WebAssembly 是很有幫助的。 在上一篇關(guān)于 JIT 的文章中,我介紹了和計(jì)算機(jī)打交道,就像同外星人打交道一樣。 現(xiàn)在來思考一下...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...