DK是一些公司針對某一項技術為軟體開發人員制作的一套輔助開發或者減少開發周期的工具。比如說,微軟除了釋出DIRECTX的RUNTIME(DX的運作時刻庫,一般需要DX支援的遊戲運作時隻要這個就夠了)之外,還會釋出DIRECTX的SDK,那麼開發遊戲的人或者其他程式設計的人,就可以利用DIRECTX的SDK更好的開發使用DIRECTX技術的遊戲或軟體,一般SDK中會對一些技術的内部特性做一些更深入的說明,并且提供一些新的API供程式設計人員調用。比如說如果你認真閱讀了DIRECTX的SDK中的文檔,你就知道怎麼開發DIRECTX的程式,并且知道DIRECTX技術提供了哪些API可供你調用。至于在程式設計中,在建立工程什麼的,理論上應該和一般的程式設計沒有什麼兩樣,或者說至少在建立工程這方面上沒有什麼特别的,關鍵的地方是在程式内部使用了SDK提供給你的一些友善的功能,或者有時你需要安裝這些SDK才能在你的程式中使用這些功能。是以你的問題其實就在于對SDK這個概念還不夠了解。
比如說,如果你想用DIRECTX技術寫一個應用程式,那麼你就要建一個應用程式的工程,如果你想應用DIRCTX寫一個自己的DLL,以便在你寫的其他程式中調用它,那麼你就應該建立一個DLL的工程。總之,要建立什麼樣的工程在于你程式設計的目的和你使用的程式設計語言環境的規定,而不在于你是否使用某個SDK