我只是想進一步理解extern C函數。更好地理解extern「C」函數
據我所知,extern C函數總是一個函數,你正在嘗試從已編譯的應用程序調用。可執行文件,靜態或動態庫。
extern "C"
{
HRESULT CreateDevice();
typedef HRESULT (*CREATEDEVICE)();
HRESULT ReleaseDevice();
typedef HRESULT (*RELEASEDEVICE)();
}
所以我的問題是...
我的理解是否正確?
它總是必須是一個C函數指針??'
爲什麼你必須爲每個函數使用typedef?
我推測當你使用GetProcAddress()。您正在爲特定應用程序HEAP分配內存,而不是您正在調用它的內存。因此,你必須從堆中釋放它?
您是否看到此問題? http://stackoverflow.com/questions/67894/why-do-we-need-extern-c-include-foo-h-in-c – Jujjuru 2010-06-04 03:41:33