18 {19     callFunc((funcPointer)testFunc);20     getchar();21 }

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

在第12行代碼定義的callFunc函數,它的參數是一個“返回值為void,參數為一個int型的函數指針”,并在內部調用這個函數指針傳實參為1。

在地5行代碼定義了函數testFunc,它的參數為兩個int,同時為它定義了__stdcall的調用約定。

在main函數的19行中進行調用的時候,對testFunc使用了(funcPointer)進行強行類型轉換,并將它傳入callFunc作為實參進行調用。

 

x86平臺Debug版本運行這段程序的結果如下:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

網友評論