======================================
使用方法:
在WTK下建立工程,
將含有預處理指令的代碼放到和src同目錄的srcp文件夾中
使用EditPlus或UE裡邊的自定義命令調用預處理程序cpp32
使用WTK編譯
======================================
環境的組成:
WTK22
EditPlus2 或者 UltraEdit32
cpp32.exe
cpp32.vbs(封裝cpp32.exe的腳本)
======================================
配置方法:
1. 將cpp32.exe 和 cpp32.vbs 拷貝到同一目錄下面,我把他們拷貝到了EditPlus2的目錄下,(/EditPlus 2/cusTools/中),畢竟他們要作為用戶工具集成到EditPlus中。
2. 將cpp32.vbs集成到EditPlus2中。使用 [工具 -> 配置用戶工具] 命令添加用戶自定義工具,取個名字(例如"preprocess"),執行文件設置成腳本(\EditPlus 2\cusTools\cpp32.vbs),參數設置成 $(FilePath)。
3. 然後在編輯完你的Java文件後,使用 preprocess 命令就行了,有快捷鍵使用的,很方便,^_^。
======================================
CPP32工具的使用說明
一般用法:
cpp32.exe -o輸出文件 輸入文件
使用上述命令產生解釋預處理命令後的源代碼文件。
程序說明:
Borland C++ Win32 Preprocessor 5.5.1 Copyright (c) 1993, 2000 Borland
Syntax is: CPP32 [ options ] file[s] * = default; -x- = turn switch x off
-Ax Disable extensions -C Allow nested comments
-Dxxx Define Macro -Ixxx Include files directory
-P * Include source line info -Sc Keep comments
-Sd Defines/undefs in output -Sg Display fast guard details
-Sk Keep output on errors -Sr Readable commented output
-Ss Give header statistics -Uxxx Undefine Macro
-gnnn Stop after N warnings -idl Accept some IDL syntax
-innn Max. identifIEr length N -jnnn Stop after N errors
-nxxx Output file directory -oxxx Output file name
-p Pascal calls -w Enable all warnings
-wxxx Enable warning xxx -w-xxx Disable warning xxx
=======================================
預處理命令
#define #undef
#include
#ifdef/#ifndef 標識符
程序段1
#else
程序段2
#endif
#if 常量表達式
程序段1
#else
程序段2
#endif
=======================================
腳本內容附在下面:
' CPP32.VBS
' Yi.Wang.
'
' 用於EditPlus/UltraEdit中用戶工具。
' 將當前未預處理的Java文件,使用CPP32處理後,放入工程的src\的目錄下。
'
' 注意:
' ## 將cpp32.exe 和該腳本拷貝的同一個目錄下面,最好時EditPlus目錄。
' ## 該工具針對J2ME的WTK工程,所以保證有如下的目錄結構:
' ------ src 存放預處理後的代碼目錄,也是WTK編譯目錄
' ------ srcp 當前代碼目錄
' |-- 當前代碼文件(Java)
'---------------------------------------------------------------
If WScript.Arguments.count <= 0 Then
WScript.Quit
End If
' SHELL
Set wshshell = CreateObject( "WScript.Shell" )
' File System Interface
Set fs = CreateObject( "Scripting.FileSystemObject" )
' non-preprocessed source file
infileName = WScript.Arguments(0)
If LCase( fs.GetExtensionName(infileName) ) <> "Java" Then
MsgBox "Only accept *.Java!",vbCritical
WScript.Quit
End If
' outputfile
outfileName = fs.GetParentFolderName( fs.GetParentFolderName( infileName ) ) & "\src\" & fs.GetFileName( infileName )
' execute cpp32.exe -ooutfileName -infileName
'MsgBox """" & fs.GetParentFolderName(WScript.scriptFullName) & "\cpp32.exe"" -o" & outfileName & " " & infileName
wshshell.run "cmd /K """"" & fs.GetParentFolderName(WScript.scriptFullName) & "\cpp32.exe"" -o""" & outfileName & """ """ & infileName & """ && pause && exit"""