舉例而言,假如有一個嵌入式裝置,具有 LCD 顯示器,其解析度為 320 * 240。如此,我們可以撰寫一個 drv_draw_pixel(int X, int Y, int Color) 這樣的 stub 函數,如範例 9.4所示。然後,在其中利用 C 語言當中的 #ifdef 等條件式編譯的方式,讓該程式先顯示在桌上型電腦的模擬環境當中。等到硬體開發完成之後,再將 _SIMULATOR_ 這個定義值取消,如此,就可以先行在桌上型電腦上開發程式。而且,此種方式有一個極大的好處,那就是桌上型電腦通常會提供很好的除錯環境,因此,可以讓程式師輕易的找出大部分的邏輯錯誤,等到硬體裝置完成時,只要在目標板上測試相容性、記憶體與資源的限制等問題即可。
範例 9.4 用來在銀幕上畫一個點的 Stub 函數
void drv_draw_pixel(int X, int Y, int Color) {
#ifdef _SIMULATOR _
drv_draw_pixel_on_simulator(X, Y, Color);
#else
drv_draw_pixel_on_device(X, Y, Color);
#endif
}