編譯16位匯編
A. 匯編用什麼軟體編譯啊
通常我都用記事本或者ultra-edit寫程序,然後進到命令行里,用masm編譯鏈接,最後用debug調試,這是標准流程啊。
匯編小站上介紹了一個工具叫masmplus,據說是一個類似於vc的IDE,你可以看下,上面對它的評價挺高的。
B. codeblocks 如何編譯16位內聯匯編
class MyTest_Base
{
public:
MyTest_Base (int& status)
{
//do other job
// 由於資源不夠,對象構建失敗
// 把status置0,通知對象的構建者
status = 0;
}
};
void main()
{
int status;
MyTest_Base obj1(status);
// 檢查對象的構建是否成功
if(status ==0)
cout << "對象構建失敗" << endl;
}
程序運行的結果是:
對象構建失敗
在來看下面的程序:
class MyTest_Base
{
public:
MyTest_Base (int& status)
{
//do other job
// 由於資源不夠,對象構建失敗
// 把status置0,通知對象的構建者
status = 0;
}
virtual ~ MyTest_Base ()
{
cout << "銷毀一個MyTest_Base類型的對象" << endl;
}
};
void main()
{
int status;
MyTest_Base obj1(status);
// 檢查對象的構建是否成功
if(status ==0)
cout << "對象構建失敗" << endl;
}
C. 怎麼編譯連接16位的匯編程序
如果是寫16位匯編,下載masm5.0(微軟的16位宏匯編包),網路一下就有下載!使用masm.exe編譯16位匯編源代碼生成*.obj文件,在用link.exe連接生成16位可執行文件*.exe。在32位機器上是可以寫16位程序的,因為x86的計算機體系就是為了兼容低階程序而存在的,計算機在啟動的時候就是以實模式(可以簡單理解為16位的)啟動的,之後操作系統才使用機器指令轉向32位保護模式(因為這樣從硬體級支持多任務)。編寫16位、32位、以及64位匯編程序只要下載安裝相應的匯編包就可以了。
D. 請問為什麼用as,ld在Windows平台編譯16位匯編程序編譯出來的應用程序會無效
as ld是gcc的套件,gcc能不能產生exe格式的目標文件?不能的話nasm替代
E. 編譯和匯編的區別
編譯的意義就是把你寫的代碼(電腦看不懂的)翻譯成電腦用的代碼,這個過程不可逆,你打開已經編譯過的東西最多隻能看到匯編代碼。一些要求較高的地方如系統內核部分,一般就是直接寫匯編代碼,就是從電腦的角度來編程。