Ⅰ C#中如何使用頭文件(xxxx.h),以及如何將頭文件編譯成動態鏈接庫(DLL)
頭文件、cpp文件和dll文件之間的是這樣的關系:頭文件聲明方法,cpp實現方法、cpp編譯後得到dll,因此頭文件描述的是dll文件的介面,也就是具體實現的介面。如果你只有dll文件,只要知道其導出的方法就可以直接使用,win32有對應的api。如果想要將dll中的所有可用方法包含到項目中,就要包含頭文件。這就是說,頭文件和dll文件是對應的。另外,如果你的頭文件中已經包含了實現代碼,那你需要提供一個空的cpp文件,包含該頭文件,並將它們編譯成dll文件。
C#沒法直接用C++的頭文件,但是可以直接用dll,使用的技術稱作PInvoke,原理是在C#代碼中用extern關鍵字添加dll中所需方法的簽名,也就是二樓說的那種方法。此外,如果這個dll是採用com技術實現的,也可以使用.NET平台提供的COM互操作特性直接導入使用。