API入門系列之一 -那‘煩人’的Windows資料類型

來源:互聯網
上載者:User

Hello Everybody This is beyondcode

大家好 再次自我介紹一下 我是beyondcode, 這次心 血來潮, 計划著做一系列關於Windows API 編程的教程,用於協助一些在Windows API編程上有疑惑的, 納悶的,迷惑的新手朋友們。

先解釋一些術語或名詞吧

SDK是Software Development Kit的簡寫,也就是軟體開發包的意思,其中就包含了我們寫程式要用 到的一些標頭檔,庫,工具,協助文檔之類的。

Windows API編程是指調用Windows的介面函數來進行程式的編寫,例如MessageBox就是一個API函數 或者說介面函數。怎麼說都可以,自己理解就行。如果你連這個都不太懂,我想也不會搜到這篇文章了 吧~·

為什麼做這個系列教程呢,請聽我一一道來先,最近遇到一些事一些人,讓我真的 感覺在這方面的引匯入門文章真的很是匱乏,加上Windows SDK標頭檔中那些複雜,龐大,'煩人 '的宏定義與資料類型定義,對於一個新手來說(我所說的新手不單只剛接觸編程的,還特指那些在 其他語言領域有比較高造詣的朋友) 一個純SDK寫的helloworld程式都算是一個有些困難和挑戰的任務了 吧。 本著協助別人,高興自己的原則,我有了這個打算,當然對自己以前所學,所經曆做一次回憶,也 是這次計劃的一部分。

聲明一下,本系列教程是面向廣大初次接觸WIN32 SDK程式編寫的新手朋 友們的,如果你是高手,一笑而過吧~當然,除了一笑而過,也多謝你們提出指本文章中的錯誤,以免我 誤人子弟啊~~謝謝

Ok 廢話不多說,進入正題,今天第一篇,講什麼?   對於一個新人來說, 第一次接觸SDK編程或者說API編程,什麼最迷惑你們的,我們講它,我覺得Windows SDK中那'煩人 '的資料類型定義和宏定義應該算這個很角色吧。。

其實微軟的本意也是善良的,為了減輕 程式員的負擔,和為了編程的方便,才花了那麼多心思與精力定義出了這麼一大套資料類型與宏定義, 這也是我為什麼在之前說它煩人都是加上引號的原因,因為他不是真的煩人,熟練了,你不但不覺得它 煩,反而離不開它了,呵呵,日久深情也就是這麼來的。

呵呵 先看幾個資料類型定義吧

typedef float FLOAT;

typedef long LONG;

typedef short SHORT

typedef int INT;

typedef char CHAR;

float, long, short, int, char 這幾個資料類型都是大家熟悉的C/C++的資料類型吧,微軟將他們重新定義了一下,很簡單,就是改變名 字為大寫了,這樣做的目的大概是微軟為了編碼的方便吧,IME大小寫都不用切換了,多人性化呀 呵 呵。。

再看幾個資料類型定義的例子

typedef unsigned int UINT;

typedef unsigned int UINT32;

typedef signed int INT32;

typedef unsigned long DWORD;

typedef unsigned short WORD;

這些資料類型的定義就稍微有實質性作用一些了 ,注意觀察,他們都比較短了,不用寫那麼長了,而且也還比較直觀,如果我要定義一個無符號整形, 我就不用寫 unsigned int a;

這麼長了,只需UINT a; 多簡單, 多明了,所以我說其實不煩人 吧。

其中DWORD 算是SDK程式中可以經常看見的一個資料類型了,經常被使用,很多新手也就不 明白,這是什麼資料類型啊,現在看到了吧,其實就是無符號長整形unsigned long,給他取了個外號而 已··沒什麼技術含量,所以不用怕,程式中究竟是寫unsigned long 還是DWORD都看你自 己心情,因為他們都代表同一種資料類型。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.