導航:首頁 > 源碼編譯 > 龍芯編譯

龍芯編譯

發布時間:2022-02-12 04:59:48

❶ 有人在龍芯小本上編譯安裝過nodejs沒有

之所以出現這種情況,是因為默認編譯的指令集是MIPS1,但程序中使用了一些MIPS2的指令。
MIPS1的擴展支持一些MIPS2的指令。
解決辦法是在指令"ll"和"sc"前添加: .set mips2

❷ 我有一個c++代碼,如何編譯成龍芯上可以跑的程序

問龍芯的設計工程師去...

❸ 龍芯匯編為什麼不用中文的

...這個問題龍芯確實是中國人自主研發的通用CPU指令因該屬於rics精簡指令集,類似於MIPS指令集如果匯編語言能和其他CPU的匯編語言兼容點,那寫匯編的人,不用再學另一套語言還有我猜和其他編成語言(都是英文)一樣,處理非英文比較繁瑣,而且輸入速度不是很快,英文是國際標准語言

❹ 龍芯與linux問題

可以,但更建議你用ubuntu linux ,要容易上手些,使用也方便,不會打擊新手自信。而且ubuntu 也有龍芯版的,可以裝在龍芯上。它們本質是一樣的。

原則上只要有相應的編譯器,開源軟體都可以運行在龍芯上。
雖然CPU不同,但是世界上所有的程序,絕大部分是C/C++語言寫的,它是跨平台的語言,只要有相應的編譯器(GCC)就能編譯後運行在完全不同的CPU上。而linux 程序基本都是開源的,龍芯出現後肯定有很多人去移植和開發編譯器。所以,你的程序只要是C/C++寫的就能運行,當然,要用龍芯專用的編譯器編譯一次。
當然,Linux 腳本類程序不需編譯也可直接運行。

❺ 有人知道給龍芯開發桌面應用用什麼開發工具

龍芯+Linux的編譯器是mips-linux-gcc,龍芯的官網有介紹。

❻ 龍芯電腦的軟體用什麼編譯器,能在龍芯電腦上編譯嗎可視化怎麼實現還有IP是自己的還是直接MIPS的

MISP版本的linux上有那些編譯器,龍芯就能用那些編譯器,目前gun一系列,pythonphp等等都能用。
龍芯是自己設計的,指令集兼容mips,並自己擴充了一些。

❼ 龍芯處理器採用了什麼 基礎架構

龍芯CPU不同於我們常用的CPU,它屬於RISC處理器。 而常見的Inter和AMD的屬於CISC處理器。 但IBM的POWER GX處理器就是RISC。 所以原先的蘋果機上無法運行windows。 同樣的龍芯上也無法運行windows。 具體的兩種處理器的區別如下: 復雜指令集CPU內部為將較復雜的指令解碼,也就是指令較長,分成幾個微指令去執行,正是如此開發程序比較容易(指令多的緣故),但是由於指令復雜,執行工作效率較差,處理數據速度較慢,PC 中 Pentium的結構都為CISC CPU。 RISC是精簡指令集CPU,指令位數較短,內部還有快速處理指令的電路,使得指令的解碼與數據的處理較快,所以執行效率比CISC高,不過,必須經過編譯程序的處理,才能發揮它的效率,我所知道的IBM的 Power PC為RISC CPU的結構,CISCO 的CPU也是RISC的結構。 咱們經常見到的PC中的CPU,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6實際上是改進了的CISC,也可以說是結合了CISC和RISC的部分優點。 RISC與CISC的主要特徵對比 比較內容 CISC RISC 指令系統 復雜,龐大 簡單,精簡 指令數目 一般大於200 一般小於100 指令格式 一般大於4 一般小於4 定址方式 一般大於4 一般小於4 指令字長 不固定 等長 可訪存指令 不加限制 只有LOAD/STORE指令 各種指令使用頻率 相差很大 相差不大 各種指令執行時間 相差很大 絕大多數在一個周期內完成 優化編譯實現 很難 較容易 程序源代碼長度 較短 較長 控制器實現方式 絕大多數為微程序控制 絕大多數為硬布線控制 軟體系統開發時間 較短 較長 所以兩種處理器的架構不同無法直接相比, 但現在的龍芯的處理水平已經可以和初期P4相比了。 因為上面無法運行windows且速度上無法與主流處理器相比,所以市場上沒有針對個人用戶出售龍芯的。 龍芯 龍芯(英語:GODSON)是中國科學院自主開發的通用CPU,採用簡單指令集,類似於MIPS指令集。第一型的速度是266MHz,最早在2002年開始使用,龍芯2號第二型為500MHz,第三型的目標在1GHz。 關連 「龍芯2號」處理器,也稱「Godson-2」處理器、「狗剩2號」處理器、「毛澤東110」處理器、「MZD110」處理器,其中「MZD」是取自「毛澤東」以英文發音時的三個開頭字母。 大記事 「十五」期間,國家863計劃提出了自主研發CPU的戰略思路。 2001年3月起,中國科學院計算技術研究所正式啟動處理器設計項目。 2001年3月,中科院計算技術研究所開始研製具有中國自主知識產權的高性能通用CPU晶元,被命名為「龍芯」。項目領導是中科院計算所所長李國傑,具體技術主管是研究院胡偉武。 2001年10月 龍芯的FPGA驗證成功,通過中國科學院主持的「龍芯(Godson)CPU設計與驗證系統」項目評審。 2002年6月 「龍芯1號」CPU研製成功。 2002年7月 「龍芯1號」CPU小批量投片成功。 2002年9月28日中科院計算技術研究所和北京神州龍芯集成電路設計有限公司發布新聞,宣布「具有自主知識產權的我國第一款高性能通用CPU—「龍芯1號」研製成功。從此,中國信息產業「無芯」時代宣告結束。 2002年8月6日 由中國科學院計算技術研究所和江蘇綜藝集團等合資組建的「 北京神州龍芯集成電路設計有限公司」正式成立。 2005年2月18日,龍芯2號處理器正式面世,鑒定委員會認為,這款晶元的總體性能已經達到2000年左右的國際先進水平,相當於中檔的「奔騰三」處理器。 2006年9月13日,「64位龍芯2號增強型處理器晶元設計」(簡稱龍芯2E)通過科技部驗收,該處理器最高主頻達到1.0GHz,實測性能超過1.5GHz奔騰IV處理器的水平。同日,其成果「龍芯2號增強型處理器」通過了科技成果鑒定。

❽ 有在龍芯電腦上升級或重新編譯Linux內核成功的嗎

龍芯本質上是屬於MIPS晶元,但是又在指令集上進行了修改和擴展,所以和真正的MIPS晶元又有些不同,要用合適的編譯工具,在龍芯電腦上編譯Linux內核超麻煩的,還是盡量使用原來適合的那個版本的內核吧,這樣相對小眾的平台出現問題了參考資料都難找呢。

❾ 龍芯1b linux下 程序用什麼編譯執行

Linux下C程序的編輯,編譯和運行以及調試

要使用的工具:
編輯:vim(vi)
編譯和運行:gcc
調試:gdb

安裝很簡單(以下是以在CentOS中安裝為例):

1
yum vim gcc gdb

1.使用vim編輯源文件
首先,打開終端練下手:

1
vim hello.c

(進入一般模式)
按下"i",進入編輯模式,在編輯模式下輸入:

1
#include <stdio.h>

2
int main(){

3
printf("Hello, World!\n");

4
return 0;

5
}

輸入完成,按"ESC"鍵,回到一般模式,然後按下":wq",即可保存並退出vim。

附註:
在一般模式下,按下":%!xxd"查看hello.c的16進制形式,回到文本格式按下":%!xxd -r"。
查看hello.c的二進制形式,按下":%!xxd -b",這是hello.c保存在磁碟上的存儲狀態。
至此,在vim已完成C源文件的編輯。
關於vim的使用,直接上網搜索vim,相關的文章是相當多的;或者參考vim的聯機幫助,在命令行上鍵入"man vim"即可。

2.編譯和運行

gcc命令的基本用法:

1
gcc[options] [filenames]

其中,filenames為文件名;options為編譯選項
當不使用任何編譯選項編譯hello.c時,gcc將會自動編譯產生一個a.out的可執行文件:

1
[root@localhost c]# ls

2
hello.c

3
[root@localhost c]# gcc hello.c

4
[root@localhost c]# ls

5
a.out hello.c

執行:

1
[root@localhost c]# ./a.out

2
Hello, World!

使用-o編譯選擇,可以為編譯後的文件指定一個名字:

1
[root@localhost c]# ls

2
a.out hello.c

3
[root@localhost c]# gcc hello.c -o hello

4
[root@localhost c]# ls

5
a.out hello hello.c

執行:

1
[root@localhost c]# ./hello

2
Hello, World!

注意:使用-o選項時,-o後面必須跟一個文件名,即:-o outfile。

為了便於描述後面的選項,刪除hello和a.out可執行文件。

結合介紹gcc的編譯選項,分析hello.c的編譯和執行過程:
(1)預處理階段:使用-E選項,對輸入文件只做預處理不編譯。當使用這個選項時,預處理器的輸出被送到標准輸出而不是存儲到文件。如果想將預處理的輸出存儲到文件,可結合-o選項使用,使用如下:

1
[root@localhost c]# ls

2
hello.c

3
[root@localhost c]# gcc -E hello.c -o hello.i

4
[root@localhost c]# ls

5
hello.c hello.i

使用less查看下hello.i:

1
[root@localhost c]# less hello.i

(2)編譯階段:使用-S選項,將C程序編譯為匯編語言文件後停止編譯,gcc編譯產生匯編文件的默認後綴為.s。

1
[root@localhost c]# ls

2
hello.c hello.i

3
[root@localhost c]# gcc -S hello.c

4
[root@localhost c]# ls

5
hello.c hello.i hello.s

在gcc -S hello.c處,使用C源文件編譯,也可以用gcc -S hello.i的預處理文件編譯,結果一樣。

使用-S編譯時,也可以和-o結合使用指定編譯產生的匯編語言文件的名字:

1
[root@localhost c]# ls

2
hello.c hello.i hello.s

3
[root@localhost c]# gcc -S hello.i -o hello_s.s

4
[root@localhost c]# ls

5
hello.c hello.i hello.s hello_s.s

可使用less命令查看匯編代碼。

(3)匯編階段:使用-c選項,將C源文件或者匯編語言文件編譯成可重定向的目標文件(二進制形式),其默認後綴為.o。

1
[root@localhost c]# ls

2
hello.c hello.i hello.s hello_s.s

3
[root@localhost c]# gcc -c hello.s

4
[root@localhost c]# ls

5
hello.c hello.i hello.o hello.s hello_s.s

也可以和-o結合使用指定編譯產生的目標文件的名字:

1
[root@localhost c]# gcc -c hello.s -o hello.o

由於hello.o是二進制文件,使用less查看顯示為亂碼;

然後使用vim hello.o打開也顯示為亂碼,按下":%!xxd"查看其16進制形式,按下":%!xxd -r"退出 16進制查看模式,回到亂碼狀態。在退出vim時,若提示已經修改了文件,則使用":q!"強制退出。

(4)鏈接階段:鏈接器將可重定向的目標文件hello.o以及庫文件(如printf.o)執行並入操作,形成最終可執行的可執行目標文件。

1
[root@localhost c]# ls

2
hello.c hello.i hello.o hello.s hello_s.s

3
[root@localhost c]# gcc hello.o

4
[root@localhost c]# ls

5
a.out hello.c hello.i hello.o hello.s hello_s.s

可使用-o選項,指定輸出文件(即可執行目標文件)的名字:

1
[root@localhost c]# gcc hello.o -o hello

2
[root@localhost c]# ls

3
a.out hello hello.c hello.i hello.o hello.s hello_s.s

(5)執行階段:

1
[root@localhost c]# ./a.out

2
Hello, World!

3
[root@localhost c]# ./hello

4
Hello, World!

由此,看出前面使用的gcc hello.c -o
hello命令,將hello.c直接編譯為可執行的目標文件,中間經過於處理器的預處理階段(源文件到預處理文件),編譯器的編譯階段(預處理文件到匯
編文件),匯編器的匯編階段(匯編文件到可重定向的目標文件),鏈接器的鏈接階段(可重定向的目標文件到可執行的目標文件)。

還有其他的選項如下:
-Idir:dir是頭文件所在的目錄
-Ldir:dir是庫文件所在的目錄

-Wall:列印所有的警告信息
-Wl,options:options是傳遞給鏈接器的選項

編譯優化選項:-O和-O2
-O選項告訴GCC 對源代碼進行基本優化。這些優化在大多數情況下都會使程序執行的更快。-O2選項告訴GCC產生盡可能小和盡可能快的代碼。
-O2選項將使編譯的速度比使用-O時慢。但通常產生的代碼執行速度會更快。

除了-O和-O2優化選項外,還有一些低級選項用於產生更快的代碼。這些選項非常的特殊,而且最好只有當你完全理解這些選項將會對編譯後的代碼產生什麼樣的效果時再去使用。這些選項的詳細描述,請參考GCC的聯機幫助,在命令行上鍵入"man gcc"即可。

調試選項:-g(使用詳情見第3部分)
-g選項告訴GCC產生能被GNU調試器使用的調試信息以便調試你的程序。
即:在生成的目標文件中添加調試信息,所謂調試信息就是源代碼和指令之間的對應關系,在gdb調試和objmp反匯編時要用到這些信息。

3.調試
雖然GCC提供了調試選項,但是本身不能用於調試。Linux 提供了一個名為gdb的GNU調試程序。gdb是一個用來調試C和C++程序的調試器。它使你能在程序運行時觀察程序的內部結構和內存的使用情況。以下是gdb所提供的一些功能:
a.它使你能監視你程序中變數的值;
b.它使你能設置斷點以使程序在指定的代碼行上停止執行;
c.它使你能一行行的執行你的代碼。

(1)啟動gdb
在命令行上鍵入"gdb"並按回車鍵就可以運行gdb了,如下:

1
[root@localhost c]# gdb

2
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1)

3
Copyright (C) 2010 Free Software Foundation, Inc.

4
License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it.

5
There is NO WARRANTY, to the extent permitted by law. Type "show ing"

6
and "show warranty" for details.

7
This GDB was configured as "x86_64-redhat-linux-gnu".

8
For bug reporting instructions, please see:<>.

9
(gdb)

當啟動gdb之後,即可在命令行上輸入命令進行相關的調試操作。
也可以以下面的方式來啟動gdb:

1
[root@localhost c]# gdb hello

這種方式啟動gdb,直接將指定調試的程序文件裝載到調試環境中。也就是讓gdb裝入名稱為filename的可執行文件,從而准備調試。

了能夠進行調試,當前調試的程序文件中必須包含調試信息。其中調試信息包含程序中的每個變數的類型和其在可執行文件里的地址映射以及源代碼的行號,gdb
利用這些信息使源代碼和機器碼相關聯。因此在使用gcc編譯源程序的時候必須使用-g選項,以便將調試信息包含在可執行文件中。
例如:

1
[root@localhost c]# gcc -g hello.c -o hello

gdb還提供了其他的啟動選項,請參考gdb的聯機幫助。在命令行上鍵入"man gdb"並回車即可。

(2)gdb基本命令
<1>單步執行和跟蹤函數調用
程序編輯如下:

01
#include <stdio.h>

02
int add_range(int low, int high){

03
int i;

04
int sum;

05
for(i = low; i <= high; i++){

06
sum = sum + i;

07
}

08
return sum;

09
}

10

11
int main(){

12
int result[100];

13
result[0] = add_range(1, 10);

14
result[1] = add_range(1, 100);

15
printf("result[0] = %d\nresult[1] = %d\n", result[0], result[1]);

16
return 0;

17

18
}

編譯和運行如下:

1
[root@localhost gdb_demo]# vim test1.c

2
[root@localhost gdb_demo]# gcc test1.c -o test1

3
[root@localhost gdb_demo]# ls

4
test1 test1.c

5
[root@localhost gdb_demo]# ./test1

6
result[0] = 55

7
result[1] = 5105

❿ 龍芯電腦的軟體用什麼編譯器,能在龍芯電腦

可以。
龍芯的電腦可以安裝許多種其他版本的linux(包括安卓)甚至是bsd,只要支持mips架構的就可以。
例如Debian和FreeBSD,還有國內linux發行版deepin2014(deepin15暫時還不支持mips架構)

閱讀全文

與龍芯編譯相關的資料

熱點內容
解壓好的游戲如何打開 瀏覽:508
微商輔助app哪個最好 瀏覽:943
為什麼用雲伺服器下載東西那麼快 瀏覽:786
java數據結構和演算法視頻教程 瀏覽:120
java上傳多個文件 瀏覽:166
php搭建工具 瀏覽:307
安卓怎麼下載百度外來應用 瀏覽:62
什麼app可以查看全國疫情數據 瀏覽:823
python反編譯工具 瀏覽:222
qt演算法模擬 瀏覽:360
查看uuid的命令 瀏覽:50
強光抑制演算法 瀏覽:14
u盤加密後能拷貝嗎 瀏覽:889
asus帶命令提示的安全模式 瀏覽:1004
php截取字元串指定 瀏覽:248
lxe加密視頻怎麼設置 瀏覽:607
php數組刪除第一個元素 瀏覽:167
安卓指示器怎麼使用 瀏覽:572
程序編譯c執行方法 瀏覽:347
如何用python做趨勢圖 瀏覽:501