作者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