❶ 如何自己實現一個編譯器
1、編譯器有很多種,每一種的使用方式不盡相同。常用編譯器:
Visual C++
GNU C++
Inter C++
Sun C++
clang
2、一般編譯過程:源文件→預處理→編譯→匯編→鏈接→可執行文件
下面以GCC示例:
預處理(Pre-Processing):根據預處理命令(#開頭)修改源文件
# gcc -o hello.i -E hello.c or # cpp -o hello.i hello.c
編譯(Compiling):語法檢查,並將源文件翻譯成匯編文件
# gcc -o hello.s -S hello.i or # cc1 -o hello.s hello.i
匯編(Assembling):將匯編文件轉換為目標文件(二進制)
# gcc -o hello.o -c hello.s or # as -o hello.o hello.s
鏈接(Linking):編址和符號鏈接,生成可執行文件
# gcc -o hello hello.o or # ld -o hello hello.o
❷ 自己寫編譯器怎麼寫,我想為中國程序員做個編譯C語言的編譯器。
首先做這個東西的意義並不大,如果是想學習的話,看看這本書Modern Compiler by Andrew W. Appel
❸ 如何自己編譯/安裝軟體阿
這個是編譯安裝的,沒有rpm可以看得啊這個是linux系統的基本常識。這問題能給解決一下,能否看一下喔的網名啊,順便就++上吧
❹ 如何自己編程序做軟體
萬事開頭難,首先,要有扎實的基礎知識,推薦先學 c語言,搞清楚基本概念,比如 變數,函數,類,數據類型等等,再下點功夫研究下數據結構,前者是所有編程語言的構成基石,後者是演算法,就是如何用編程語言去解決實際問題。不要相信什麼速成教程,不要被當下眾多流行的編程語言搞得不知如何下手,安下心花功夫把基礎打牢。
第二,推薦學習下java語言,建議看看 《java編程思想》這本書,這是本著名的java編程教學書籍,網上有 pdf下載。
第三,熟悉一下關系型資料庫,當前三大主流關系型資料庫 包括 mysql, oracle,sqlserver,你可以挑一個專門學習下,主要學習關系型數據中的 基本概念,比如 表,視圖,存儲過程,函數,以及 關系型資料庫 語言,在網上搜相關書籍學習下就可以了,mysql 安裝較為簡單,而且使用廣泛,免費,跨平台,推薦安裝,以它為藍本學習。
第四,學習下 html ,js,css ,這些是做網頁的基礎,這些你可以 上 菜鳥教程 等網站學習,當然,這些網站教的比較淺,要想深入研究,最好還是找相關書籍好好學一下。
有了這些知識,你可以嘗試做個小系統,比如論壇,圖書管理系統什麼的。 前端頁面 用 html 設計,css美化,js 做數據載入,java 做後台,接收發送數據從(到)前端頁面, 操作資料庫 ,mysql作為資料庫用來存放數據。
然後,你可以研究一些專業性的框架做一些真正的可用的軟體開發了,前端比如,angularjs,vue ,react,後端 如 java spring ,hibernate , 這時候,你要做的就是上官網,看幫助文檔了。
計算機發展的速度是非常快的,新技術層出不窮,但不管怎樣,基礎的東西是不會變的,所以,花時間把基礎打牢,然後多做項目實踐,這樣才能成功。
❺ 如何在WINdow下自己編譯mod
1、下載GMP源代碼,到d:/gmpconfigure--disable-static--enable-sharedmakemakeinstall則編譯出dll
❻ 如何自己編譯最新的Clover引導程序
你好!
自己編譯最新的Clover引導程序步驟如下:
1、下載Xcode 注意 下載完 要運行一次 然後把該同意的條款都同意了 可能第一次運行會自動安裝一些東西 也都安裝了 然後就可以退出Xcode了。
2. 下載cloverpro方法是 打開終端 然後輸入git clonegit://github.com/JrCs/CloverGrowerPro.git
3、復制代碼會自動下載cloverpro的源碼等下載完了以後 ,繼續在終端輸入cd CloverGrowerPro復制代碼,./CloverGrowerPro.sh -s復制代碼。
4、這時會要求你設置一些東西 都默認回車就好了這步完成後 在終端繼續輸入cloverpro復制代碼然後就是漫長的下載源碼和編譯過程, 不過都是自動的。中間需要確認一些東西都是按任意鍵5、那種編譯gcc4.9的時候時間會很長 ,取決於cpu的速度 i7的話 ,估計整個過程要15分鍾左右最後最後 提示你按m鍵並回車, 然後會繼續自動編譯pkg包 ,這基本就大功告成了。
6、編譯好的pkg會出現在一個自動彈出的finder窗口 ,便於復制到其他位置。
cloverpro就可以自動編譯最新版了編譯好的pkg,還是會出現在一個自動彈出的finder窗口裡
❼ 如何編寫自己的編譯器
我暈,你們老師真NB,你學的什麼語言啊?是c嗎?上來就讓你做個編譯器,你們老師吃錯葯了吧?
我大學同學畢業設計才是做個編譯器,那會那倆人合作做的,還都是我們系公認的c最強的兩個,合作還做了半年,你認為大一剛上來就做這個?!
❽ 如何 動態編譯自己寫的代碼
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
* 使用 C# 動態編譯代碼和執行
* 作者: yaob
*/
static void Main(string[] args)
{
// 編譯器
CodeDomProvider cdp = CodeDomProvider.CreateProvider("C#");
// 編譯器的參數
CompilerParameters cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.dll");
cp.GenerateExecutable = false;
cp.GenerateInMemory = true;
// 編譯結果
CompilerResults cr = cdp.CompileAssemblyFromSource(cp, HelloWorld());
if (cr.Errors.HasErrors) Console.WriteLine("編譯出錯!");
else
{
// 編譯後的程序集
Assembly ass = cr.CompiledAssembly;
// 得到HelloWorld類中的SayHello方法
Type type = ass.GetType("HelloWorld.HelloWorld");
MethodInfo mi = type.GetMethod("SayHello");
// 執行
mi.Invoke(null, null);
}
}
// 動態構建的代碼
static string HelloWorld()
{
StringBuilder sbCode = new StringBuilder();
sbCode.AppendLine("using System;");
sbCode.AppendLine("namespace HelloWorld");
sbCode.AppendLine("{");
sbCode.AppendLine(" class HelloWorld");
sbCode.AppendLine(" {");
sbCode.AppendLine(" public static void SayHello()");
sbCode.AppendLine(" {");
sbCode.AppendLine(" Console.WriteLine(\"Hello~ World~!\");");
sbCode.AppendLine(" }");
sbCode.AppendLine(" }");
sbCode.AppendLine("}");
return sbCode.ToString();
}
❾ 如何自己編譯LINUX操作系統
編譯這個難啊,還要網速允許
你可以編譯
gentoo單純的自己編譯一個不屬於任何現在的版本可能不是一
般人可以做到的
❿ 如何自己編譯源代碼
我們使用編譯器將自己的源代碼轉換成目標代碼, 使用鏈接器將我們的目標代碼鏈接成一個可執行程序。另外, 我們使用一些程序在計算機中輸入源代碼文本並且編輯它。這些是最初的和最重要的工具, 它們構成程序員的工具集合或「程序開發環境」。 如果你使用的是命令行窗口, 就像很多專業程序員所做的那樣, 你將不得不自己來編寫編譯和鏈接命令。如果你使用IDE(「互動式開發環境」或「集成式開發環境」), 就像很多程序員所做的那樣, 簡單地點擊正確按鈕就可以完成這個工作。附錄C介紹了如何在你的C++實現中編譯和鏈接。 IDE通常包括一個具有有用特性的編輯器, 例如用不同顏色的代碼來區分你的源代碼中的注釋、 關鍵字和其他部分, 以及其他幫助你來調試代碼、 編譯和運行代碼的功能。調試是發現程序中的錯誤和排除錯誤的活動, 你在前進的道路上會聽到很多有關它的內容。 我們使用微軟的Visual C++作?喑炭 ⒒肪呈道 H綣 頤羌虻サ廝怠氨嘁肫鰲被蚴恰癐DE」的某些部分, 那就是所指Visual C++系統。但是, 你可以使用一些提供最新的、 符合標準的C++實現的系統。我們所說的大多數內容(經過微小的修改)對所有的C++實現都將是正確的, 並且其代碼可以在任何地方運行。在工作中, 我們使用幾種不同的實現。