首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

建置支援預處理器的 J2ME 開發環境 (WTK + EditPlus/UE + cpp32)

     編輯:J2ME

打造具備 C 風格預處理功能的 J2ME 開發環境

J2ME 專案常需針對不同機型、螢幕尺寸、API 支援度進行條件編譯。標準 Java 無預處理器,本文介紹如何整合 Borland C++ 5.5 的 cpp32.exe 到 WTK + EditPlus/UltraEdit 工作流,實現 #define、#ifdef、#include 等指令。

環境組成

  • J2ME Wireless Toolkit (WTK) 2.2
  • EditPlus 2 或 UltraEdit 32
  • cpp32.exe (Borland C++ Win32 Preprocessor 5.5.1)
  • cpp32.vbs (封裝腳本,自動處理路徑與參數)

目錄結構約定

專案根目錄/
├── src/       # WTK 編譯目標目錄 (預處理後輸出)
└── srcp/      # 原始碼目錄 (含預處理指令)

配置步驟

  1. 將 cpp32.exe 與 cpp32.vbs 放置同一目錄 (建議 EditPlus 2/cusTools/)。
  2. EditPlus/UE 中設定「使用者工具」:
    • 名稱:preprocess
    • 執行檔:cpp32.vbs 路徑
    • 參數:$(FilePath) (目前編輯檔案完整路徑)
    • 指定快捷鍵 (如 Ctrl+1)。
  3. 編寫程式碼於 srcp/ 下,儲存後執行 preprocess 工具,自動輸出處理後的 Java 檔至 src/。
  4. WTK 專案設定源碼目錄為 src/,正常 Build/Run。

cpp32 常用參數說明

參數說明
-o<file>指定輸出檔名
-D<macro>定義巨集 (等同 #define)
-U<macro>取消定義巨集
-I<dir>指定 include 搜尋目錄
-C允許巢狀註解
-Sk發生錯誤時保留輸出檔

支援的預處理指令

  • #define / #undef
  • #include "file"
  • #ifdef / #ifndef / #else / #endif
  • #if 常數表達式 / #else / #endif

cpp32.vbs 核心邏輯 (摘要)

' 取得當前編輯檔案路徑 (infileName)
' 輸出路徑:專案根目錄\src\原始檔名
' 執行:cpp32.exe -o"輸出檔" "輸入檔"
' 使用 WScript.Shell 執行命令並暫停視窗以便查看錯誤

腳本會自動驗證副檔名為 .java,並依約定目錄結構導出檔案。

實際應用範例

// srcp/GameCanvas.java
#define SCREEN_W 240
#define SCREEN_H 320

#ifdef NOKIA_UI
#import com.nokia.mid.ui.*
#endif

public class GameCanvas extends Canvas {
    // 使用 SCREEN_W, SCREEN_H 常數
    // NOKIA_UI 區塊僅在定義時編入
}

預處理後輸出至 src/GameCanvas.java,#define 替換為字面值,#ifdef 區塊視定義情況保留或移除。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved