❶ 編譯程序是什麼軟體
編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
❷ 編程軟體有哪些
一、編程軟體:
1、電腦編程軟體主要有:BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB java等。
2、CC++ 常用軟體是MS VC++(6.0和更高版本)集成在微軟的開發工具visual studio中,JAVA桌面編程常用軟體是netbean,網路編程是MyEclipse(包括了常用的Eclipse和常用工具,目前Java最流行的網路編程軟體)。
3、C#沒有別的軟體,就是MS VC#,也集成在了Visual studio中,微軟官方有下載,有免費的學習版。
4、pascal就是Turbo Pascal。
二、編程開發工具:
1、關於C++的: CFREE(初學者適用),VC,MyC++,Magic C++,DevC++。
2、關於JAVA的:JBuilder、Eclipse、NetBeans IDE、JCreator+J2SDK、JDK、Tomcat、Weblogic、JRun。
3、關於C#的:VS Studio 系列(VS2003,VS2005,VS2008,VS2010,VS2011),SharpDevelop(開源的免費軟體)。
4、關於Delphi的:delphi2005。
5、關於C的:Turbo C 2。
5、關於PHP的:Dreamweaver_CS5、Notepad++。
7、關於VB的:visual basic 6.0。
8、關於匯編的:VisualASM。
9、關於VBS的:按鍵精靈2014。
(2)自動編譯成源程序的軟體擴展閱讀:
1、可視化:可視化編程也越來越重要,所謂的可視化程序設計和Visual Basic或Visual C++並不同,支持可視化程序設計的IDE可以讓開發人員直接移動程序單元來建立流程圖和結構圖,然後直接做編譯或解釋,這一類的流程圖通常是以UML為基礎。
2、這樣的界面因為樂高的Mindstorms開始普及,一些公司也開始透過瀏覽器Mozilla和分布式程序設計(LabVIEW)往這方面努力。
3、從1980年代開始,第一個可視化程序設計系統—Max,就是以類比合成器的設計為榜樣,同時被用來開發即時音樂演出軟體。
4、這種方法也被用在專業軟體,例如Openlab,這類的使用者需要完整程序設計語言的彈性,並不想要傳統的學習曲線。
5、可視化程序設計語言有另一個半免費和開放源代碼的替代品-Mindscript,具有加密系統和連結資料庫等等。
6、智能手機:應用程序開發行業中最大的新熱潮是智能手機的應用程序「這種裝置通常需要開發人員使用一種可將裝置的功能發揮到極致的特定語言作為應用平台,至少要以官方認可的方式進行。
7、智能手機開發體系的一個新興產業正在崛起,即允許開發人員用非智能手機平台原生的其它語言編寫自己的代碼,然後轉化為原生語言的應用程序。
8、因為不需要學習任何特定的智能手機平台的官方應用程序開發語言,Web應用程序也沾了光,成為智能手機應用程序開發的一種方法。
9、選擇語言甚於平台的另一個方案是使用像諾基亞的N900這樣的設備,它運行Debian發行的Linux系統,可以運行的軟體范圍很寬——包括很多不是為智能手機設計的軟體。
10、隨著安卓和ios智能手機范圍的不斷擴大,安卓和ios編程人員企業急缺,3G夢工場軟體學院在華中地區最早開設了3G智能手機編程相關的課程,為對編程感興趣的人提供了一個學習平台。
參考資料來源:
網路-編程
❸ 編譯軟體是什麼
編譯(compilation , compile)
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。
編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
詳情去網路看看哈,地址:http://ke..com/view/69568.htm
理解了編譯,你自然就了解什麼是編譯軟體咯.常用的很多,我推薦幾個給你吧.
編譯C:Turbo C 2.0、Turbo C 3.0
編譯C\C++ :VC6.0、winTC等
編譯Java:eclipse(也可以直接配置好環境在DOS下編譯運行)
❹ 寫代碼的軟體有哪些
寫代碼可以用的軟體有:Webstorm、Vscode、SublimeText、HBuilder、Dreamweaver、notepad++、editplus等。
代碼就是程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。代碼設計的原則包括唯一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。現代程序語言中,源代碼可以書籍或磁帶形式出現,但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,它由通過編譯器完成。做前端開發,寫代碼的軟體是必不可少的。主流的前端開發寫代碼軟體有:WebStorm、Vscode、Sublime Text、HBuilder、Dreamweaver、notepad++、editplus等,下面我們一起來看看。
做前端開發,寫代碼的軟體是必不可少的。主流的前端開發寫代碼軟體有:WebStorm、Vscode、Sublime Text、HBuilder、Dreamweaver、notepad++、editplus等,下面我們一起來看看。
1.WebStorm【推薦】
WebStorm 是jetbrains公司旗下一款JavaScript 開發工具。目前已經被廣大中國JS開發者譽為「Web前端開發神器」、「最強大的HTML5編輯器」、「最智能的JavaScript IDE」等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。WebStorm的過人在於,商家不斷的更新版本。
2.Visual Studio Code(簡稱:Vscode)【推薦】
Visual Studio Code中文版是微軟推出的帶 GUI 的代碼編輯器,啟動非常快,完全可以用來代替其他文本文件編輯工具。還可以用來做開發,支持各種語言。軟體功能非常強大,界面簡潔明晰、操作方便快捷,設計得很人性化。軟體主要改進了文檔視圖,完善了對 Markdown的支持,新增PHP語法高亮。
3.Sublime Text
Sublime Text是一個代碼編輯器也是HTML和散文先進的文本編輯器。擁有著漂亮的用戶界面和非凡的功能,例如迷你地圖,多選擇,Python的插件,代碼段,等等。完全可自定義鍵綁定,菜單和工具欄。其主要功能包括:拼寫檢查,書簽,完整的Python API,Goto功能,即時項目切換,多選擇,多窗口等等。
4.HBuilder
HBuilder是DCloud推出的專為前端打造的開發工具,具有飛一樣的編碼、最全的語法庫和瀏覽器兼容數據、可以方便的製作手機APP、最保護眼睛的綠柔設計等特點。支持HTML、CSS、JS、PHP的快速開發。通過完整的語法提示和代碼輸入法、代碼塊等,大幅提升HTML、js、css的開發效率。
5.Dreamweaver
Dreamweaver是由Macromedia公司開發的一款所見即所得的網頁編輯器。所見即所得的網頁編輯器的優點有直觀性、使用方便、容易上手。它使用所見即所得的介面,亦有HTML編輯的功能。熟練掌握Dreamweaver軟體的使用,無論是設計師還是工程師,它都能有效提高你的工作效率。
6.Notepad++
Notepad++是一款Windows操作系統下的一套文本編輯器。此軟體是免費軟體,可以免費使用,自帶中文,小巧高效,支持27種編程語言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等,Notepad++ 內置支持多達27種語法高亮度顯示。Notepad++除了可以用來製作一般的純文字說明文件,也十分適合編寫計算機程序代碼。
7.Editplus
Editplus是一款由韓國Sangil Kim出品的小巧但是功能非常強大的文字編輯器,擁有無限制的Undo/Redo(撤銷)、英文拼字檢查、自動換行、列數標記、搜尋取代、同時編輯多文件、全屏幕瀏覽功能。除了支持HTML, CSS, PHP, ASP, Perl, C/C++, Java, JavaScript, VBScript的代碼高亮外,還內建完整的HTML和CSS指令功能。
❺ EXE文件反編譯成源碼
EXE文件可以通過步驟來反編譯成源碼,具體步驟如下:
1、在網路上搜索下載反編譯工具ILSpy,ILspy是一個開源的.net反編譯軟體,使用十分方便。解壓後如圖,雙擊.exe文件打開解壓工具。
(5)自動編譯成源程序的軟體擴展閱讀:
反編譯也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(比如可執行程序)進行「逆向分析、襲轎前研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方帆培法等設計要素,某些特拍清定情況下可能推導出源代碼。
exe是編譯好的程序文件 要看結構就得反編譯 但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。 所以要要看結構不止要會反編譯 還得精通匯編語言。
❻ 請問如何將C或匯編源程序或燒到自己製作的PCB板上 謝謝···
一. 安裝單片機程序編譯軟體KEIL。
1.點擊圖標 運行直至安裝完成。
2.點擊圖標 運行KEIL,然後選擇菜單「project」點擊「new……」點擊「 」建立新的工程。填寫好工程文件名選擇保存路徑後按「保存」,此時彈出一個窗口如下圖所示
點擊Atmel左邊的+號展開CPU的型號,選擇「AT89C51」按「確定」再生成一個對話框如下圖,再按「是」即可。
這時在工程左邊的文件指示欄中多了一個 這樣的圖標,點其左邊的+號可展開當前所包含的文件。
選擇菜單「File」「new」新建一個文本編輯器,按保存按鈕,在彈出的窗口填入文件名後綴為.C ,然後按保存即把這個C文本文件保存到這個工程的目錄下。
再在工程左邊的文件指示欄中指著 點擊右鍵選擇 選項把剛才建立的C文件加入來,按「Add」即可加入,這時就可以在C文本編輯器里編號程序了。
寫好程序後選擇菜單「project」選擇「 」打開的對話框如下圖所示
如果彈出來的不是這個對話框時可以重復一次「project」選擇「 」便可以打開,打開後在 這個方框里打上勾然後按「確定」才可以編譯生成單片機的燒寫文件HEX文件。這些選項都設置好並寫好源程序後就可以在菜單選項project選項中選擇 選項對源程序進行編譯,生成的HEX文件就在工程的目錄下。
本文章後面附帶的是HJSMSY-V1.0開發板的測試源程序,讀者可以將其復制到編譯器里編譯。此程序為一個簡單的計算器功能程序,數寫鍵依次對應電路板上的數字0--9,「A」鍵功能為清除,「B」鍵功能為等於,「C」鍵功能為+,「D」鍵功能為-,「E」鍵功能為*,「F」鍵功能為除。
二. 把單片機開發板用9針串口線與電腦連接好,用配套的USB供電線將單片機開發板供電,並關閉電路板上的電源開關。運行STC晶元燒寫軟體,
點擊圖標
打開下載界面如下圖
按這個圖裡面的設置設好參數後,點擊「Open File/打開文件」打開HEX文件,在打開的對話框中找到剛才所建立工程的目錄,在此目錄下可以找到剛才編譯得到的HEX文件,如果找不到則是還沒有在 這個方框里打上勾,回到工程里打上勾並按 編譯一次就行了。打開HEX文件確定後就點擊下載軟體的 ,再打開單片機開發板上的電源開關,這時電腦便自動與單片機連接並把程序下載到單片機里,下載完成後會有聲音提示的,或者可以在軟體界面上看得到。註:STC系列單片機是在開機的瞬間下載程序的,如果還未能連接成功可以關掉電源再開一次即可。
//HJSMSY-V1.0單片機開發板測試程序.C
//-----------------------------------------------
// <<計算器>>
//-----------------------------------------------
//編寫人:李春起
//編定日期:2010.06.26
//修改日期:
//============================================================
#include <AT89X52.H>
#define uchar unsigned char
#define uint unsigned int
uint comdata,vardata,dispdata;
unsigned char flag=0,incflag=0,maxflag=10,maxvar=1;
//===========共陽數碼管段碼表==================================
uchar code SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code ACT[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
//================引腳定義=======================================
sbit yy=P3^2;
sbit jk=P3^4;
sbit k1=P2^3;
sbit k2=P2^2;
sbit k3=P2^1;
sbit k4=P2^0;
//=====子函數聲明======================================
void init(void);
void delay1(uint z);
void kk(void);
//===========程序初始化===============================
void init(void)
{
TMOD=0x01;
TH0=0xf4;
TL0=0x48;
ET0=1;
TR0=1;
EA=1;
}
//=====空操作延時子程序=======================
void delay1(uint z)
{
uint j,y;
yy=0;
for(j=0;j<z;j++)
{for(y=0;y<100;y++){;}}
yy=1;
for(j=0;j<z;j++)
{
for (y=0;y<3422;y++);
}
}
//========鍵盤掃描子程序===================
void kk(void)
{ P2=0xf0;
if(P2!=0xf0)
{
P2=0xef;
if(!k1){delay1(15);comdata=vardata;vardata=0;incflag=1;} //k13
if(!k2){delay1(15);comdata=vardata;vardata=0;incflag=2;} //k14
if(!k3){delay1(15);comdata=vardata;vardata=0;incflag=3;} //k15
if(!k4){delay1(15);comdata=vardata;vardata=0;incflag=4;} //k16
P2=0xdf;
if(!k1){delay1(15);if(vardata>6553){goto ab1;};vardata=((vardata*10)/maxflag+8*maxvar);dispdata=vardata;} //k9
ab1:if(!k2){delay1(15);if(vardata>6553){goto ab2;};vardata=((vardata*10)/maxflag+9*maxvar);dispdata=vardata;} //k10
ab2:if(!k3){delay1(15);vardata=0;dispdata=vardata;} // k11
if(!k4){delay1(15);switch (incflag){
case 1:{vardata=(comdata+vardata);dispdata=vardata;}break;
case 2:{vardata=(comdata-vardata);dispdata=vardata;}break;
case 3:{vardata=(comdata*vardata);dispdata=vardata;}break;
case 4:{vardata=(comdata/vardata);dispdata=vardata;}break;
default:break;
}
}//k12
P2=0xbf;
if(!k1){delay1(15);if(vardata>6553){goto ab3;};vardata=((vardata*10)/maxflag+4*maxvar);dispdata=vardata;} //k5
ab3:if(!k2){delay1(15);if(vardata>6553){goto ab4;};vardata=((vardata*10)/maxflag+5*maxvar);dispdata=vardata;} //k6
ab4:if(!k3){delay1(15);if(vardata>6553){goto ab5;};vardata=((vardata*10)/maxflag+6*maxvar);dispdata=vardata;} //k7
ab5:if(!k4){delay1(15);if(vardata>6553){goto ab6;};vardata=((vardata*10)/maxflag+7*maxvar);dispdata=vardata;} //k8
ab6:P2=0x7f;
if(!k1){delay1(15);if(vardata>6553){goto ab7;};vardata=((vardata*10)/maxflag+0*maxvar);dispdata=vardata;} //k1
ab7:if(!k2){delay1(15);if(vardata>6553){goto ab8;};vardata=((vardata*10)/maxflag+1*maxvar);dispdata=vardata;} //k2
ab8:if(!k3){delay1(15);if(vardata>6553){goto ab9;};vardata=((vardata*10)/maxflag+2*maxvar);dispdata=vardata;} //k3
ab9:if(!k4){delay1(15);if(vardata>6553){goto ab10;};vardata=((vardata*10)/maxflag+3*maxvar);dispdata=vardata;} //k4
ab10:;
}
}
//======定時器0中斷服務子程序================
void time0(void) interrupt 1
{
TH0=0xf4;
TL0=0x48;
P0=0xff;P1=0xff;
// 時鍾顯示子程序
switch(flag)
{
case 0:{P0=SEG7[dispdata%10];P1=ACT[0];flag=1;}break;
case 1:{P0=SEG7[(dispdata/10)%10];P1=ACT[1];flag=2;}break;
case 2:{P0=SEG7[(dispdata/100)%10];P1=ACT[2];flag=3;}break;
case 3:{P0=SEG7[(dispdata/1000)%10];P1=ACT[3];flag=4;}break;
case 4:{P0=SEG7[dispdata/10000];P1=ACT[4];flag=5;}break;
case 5:{P0=SEG7[0];P1=ACT[5];flag=0;}
default:break;
}
}
//=========主函數======================================
void main()
{
init();
yy=1;
jk=0;
while(1)
{
if((vardata/1000)>=9){maxflag=10;maxvar=0;}
else {maxflag=1;maxvar=1;}
kk();
}
}