goo

#use

引用元:doclib\history.txt
Hot Soup Processor ver3.7beta
2023/10/18 3.7 beta7
追加のスクリプトファイルを簡易指定するためのプリプロセッサ命令、#useを追加
スクリプトファイルの追加
スクリプトファイルの追加方法は、下記の3種類があります。
#include "filename"
文字列で指定したファイルを追加します。
ヘルプには書かれていないので非推奨ですが、名称で指定することもできます。 その場合、.拡張子を省略します。また、asファイルのみ指定可能です。
例)#include user32 // #include "user32.as" と同じ
#addition "filename"
#include と同じですがfilenameが存在しない場合でも、エラーとして停止せずに続行されます。
#use name,...
名称で指定したファイルを追加します。
名称は、""で括らず、ファイル名の.拡張子は省略する必要があります。
, で区切ることで複数指定できます。
指定できるファイル名の拡張子は、asのみです。
例)#use user32, kernel32
OpenHSPの最新のソースコードを見ると 拡張子hspも指定可能になるようです。優先順位は、1:as 2:hspです。
注意:名称で指定する場合、変数名で使用できる文字のみ使用できます。
テスト 検索パス
'HSPエディタ' で 'テスト用ソースコード' を、コンパイル+実行(F5)した時の検索パスを見てみます。
このテストでは、全ての検索パスを取得するために、存在しないdummy.asを指定しています。
下記を環境例とします。
hspcmp.dllは、OpenHSPのhspcmp@1431をdebugしたものを使用。
HSP バージョンver3.7beta
HSPエディタc:\hsp\hsed3le.exe
hspcmp.dllc:\hsp\hspcmp.dll
commonディレクトリc:\hsp\common\
テスト用ソースコードd:\test\test.hsp
テスト用ディレクトリd:\test\src
テスト用ソースコードd:\test\src\src.hsp

1) #include ファイル名
d:\test\test.hsp
#include "dummy.as" // 存在しないファイルを指定
    検索パス - d:\test\dummy.as
  1. d:\test\dummy.as
  2. c:\hsp\common\dummy.as
  3. d:\test\dummy.as
  4. c:\hsp\common\dummy.as

2) #use ファイル名
d:\test\test.hsp
#use dummy // 存在しないファイルを指定
    検索パス - d:\test\dummy.as
  1. d:\test\dummy.as
  2. c:\hsp\common\dummy.as
  3. d:\test\dummy.as
  4. c:\hsp\common\dummy.as
  5. d:\test\dummy.hsp
  6. c:\hsp\common\dummy.hsp
  7. d:\test\dummy.hsp
  8. c:\hsp\common\dummy.hsp

3) #include 絶対パス名
#useは、絶対パスを指定できません。
d:\test\test.hsp
#include "d:\\test\\dummy.as" // 存在しないファイルを指定
    検索パス - d:\test\dummy.as
  1. d:\test\dummy.as
  2. c:\hsp\common\dummy.as
  3. d:\test\dummy.as
  4. c:\hsp\common\d:\test\dummy.as
注意:検索パス4はバグの可能性あり。

4) #include 相対パス名
#useは、相対パスを指定できません。
d:\test\test.hsp
#include "src\\dummy.as" // 存在しないファイルを指定
    検索パス - d:\test\src\dummy.as
  1. d:\test\src\dummy.as
  2. c:\hsp\common\dummy.as
  3. d:\test\src\dummy.as
  4. c:\hsp\common\src\dummy.as

5) #include 相対パス名 + #include 相対パス名
#useは、相対パスを指定できません。
d:\test\test.hsp
#include "src\\src.hsp"
d:\test\src\src.hsp
#include "dummy\\dummy.as" // 存在しないディレクトリとファイルを指定
    検索パス - d:\test\src\dummy\dummy.as
  1. d:\test\dummy\dummy.as
  2. c:\hsp\common\dummy.as
  3. d:\test\dummy\dummy.as
  4. c:\hsp\common\dummy\dummy.as
上記の通り、src.hsp の d:\test\src\dummy\dummy.as は検索されません。
d:\test\src\dummyディレクトリを作成して、
d:\test\src\dummy\dummy.asファイルを作成した場合、
src.hsp 単体のコンパイルは成功します。
ですが、test.hsp のコンパイルは失敗しました。
(#スクリプトファイルが見つかりません [dummy.as])
注意:バグの可能性あり。
プリプロセッサファイル出力
注意:インクルードで相対パスを指定した場合、 プリプロセッサファイル出力のインクルードファイル名 が間違っている場合があります。
コメント ( 0 ) | Trackback ( 0 )
«  wv2s.dll - 3   
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。