作者Freak1033 (MO ~Sorekara~)
看板PangSir
標題[心得] win32 asm. programming 可能用到的工具
時間Thu Nov 4 21:34:12 2004
as title.
最近花了一些時間在研究怎麼合法取得最新版的 win32 組語開發工具,
以及如何在 win32 下進行 I/O, 稍微有了一些成果, 所以 po 上來分享一下.
1. 工具篇
最近微軟的 Visual Studio 2005 快要出了,
目前有提供免費的 beta 版 Visual Studio 2005 express 可以下載,
安裝其中的 Visual C++ express 裡面有包含 assembler 跟 linker,
以下是內含版本:
Microsoft (R) Macro Assembler Version 8.00.40607.16
Microsoft (R) Incremental Linker Version 8.00.40607.16
下載點:
http://lab.msdn.microsoft.com/vs2005/
需要註冊才能下載 installer, 不過註冊免費.
或者需要的也可以跟我要, 我等一下上傳到 217.
另外安裝有一件事情要注意,
vc\bin\link.exe 會用到一些 common7\ide 裡面的 .dll 檔,
如果覺得很不方便的話可以手動把它們丟進 \windows\system32
2. 文件與相關函式庫篇
接下來為了呼叫基本的 windows service,
你需要那些 API 的 library 檔, 還有相關說明文件,
這個部分包在 Platform SDK 裡面, 同樣網路上可以免費下載.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/downlevel.htm
3. 如何進行基本 I/O
這邊可以參考 vc\crt\src 裡面的 MS C std. lib. source 的作法,
其中有一部分很值得一看的是 entry point 的原始碼,
在 vc\crt\src\crtexe.c,
從裡面我們可以看出來要拿到 stdin/out/err 的 file HANDLE,
我們要把一個 STARTUPINFO 結構塞進 GetStartupInfo,
相較 POSIX 的 fd0/1/2 的作法實在囉唆許多. ~_~
總之... Windows API 最好要很熟,
可以參考 Charles Petzold 的聖經. :p
值得一提的是 Windows NT 系列都有 POSIX subsystem,
不過 SDK 似乎無法免費取得, 網址在這:
http://www.microsoft.com/windows/sfu/
--
その乾いた哀愁の瞳に去來するものは何か?
失ったもの 得たもの
そして廣大なネットの狹間で彼が見たものとは?
虛像と實存と記號の中に彼は今、何を想うのか?
<バトルプログラマーシラセ>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.224.64
1F:推 Rabby250:推有GF還玩MO的學弟 (快速落跑) 210.64.166.197 11/04