HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0504
??#include??8解決


??

リンク

2008/5/4(Sun) 16:14:35|NO.15626

#include(別ファイルを結合する)というのはどういうことをいうのでしょうか?



この記事に返信する


SYAM

リンク

2008/5/4(Sun) 17:05:05|NO.15627

単純に、#include の部分に、指定したファイルの内容が挿入されるということです。



Kpan

リンク

2008/5/4(Sun) 17:36:01|NO.15628

たとえば、↓のコードが書かれたhoge.hspというファイルを用意しておいて
	mes "ほげー"


↓をコンパイル実行すると、
#include "hoge.hsp"
mes "わー"


コンパイル実行の結果が↓のように書いたのと全く同じ
	mes "ほげー"
mes "わー"



nozomu-jhs

リンク

2008/5/6(Tue) 13:52:44|NO.15687

よくモジュールを利用するときに使われます。

ヘルプにのってますよ
>ここで指定されたファイルは、もとのファイルに結合してコンパイルされます。

って。



karasawa

リンク

2008/5/9(Fri) 01:26:00|NO.15740

たとえば、


(a.hsp)


mes "ぬるぽ"
stop




というhspで作ったプログラムファイルと


(b.hsp)


mes "ガッ"




という、2つのファイルがあったとします。
a.hspのファイルを


(a.hsp)


mes "ぬるぽ"
#include "b.hsp" ;←New
stop




と、1行加えた場合。
「#include "b.hsp"」の部分にb.hspのファイルをそのまま埋め込んだ事になるのです。
従って


(a.hsp)


mes "ぬるぽ"
mes "ガッ"
stop




と、同じという事になります。
説明下手&間違ってたらすいません・・・。


なお、最新版ではどうなのか知りませんが、#includeなどの#で始まる命令は、行の最初に持って来ないと機能しないので

if x=10 : #include "c.hsp"

と、やる時は。

if x=10{
#include "c.hsp"
}

と、するのをオススメします。



GENKI

リンク

2008/5/9(Fri) 02:02:08|NO.15744

プログラミング作業時にファイルを分割して作業したい場合に利用します。
例えばモジュールなどがこの例です。配布などに便利になります。
他にスクリプトが長くなってしまった場合に、サブルーチンを別ファイルに分けておく場合もあります。


ファイルの連結・挿入は、他の方が説明しているとおり実行形式を作成するときやF5で実行するときにHSPが勝手に行います。
 F5を押す → (挿入→実行形式作成) → 実行
というような感じの流れになります。



??

リンク

2008/5/9(Fri) 09:39:34|NO.15745

皆様わかりやすくありがとうございます!
例えばですが○○.hspファイルを別にして
#include "○○.hsp"して実行ファイルを作成した所
無事実行できましたが、これをpackしたところ
startup filedなどと出て実行できませんでした。
hspのファイル系はパックすることはできないと
いうことなんでしょうか?



SYAM

リンク

2008/5/9(Fri) 09:54:37|NO.15746

HSPは、
hsp ファイルに書かれたスクリプトを解釈して 『オブジェクトファイル』を作り、それを HSP3 というプログラムが読み込んで、そこに書かれた指示通りの動作をする仕組み です。
includeはhspファイルを解釈する段階で行いますから、『オブジェクトファイル』には、すでにインクルードしたhspファイルの内容が含まれています。
EXEファイル作成した場合、取り込まれるのはhspファイルから作られた『オブジェクトファイル』だけですから、そもそもhspファイルをPACKに含める必要はないのです。

正確な話は付属ドキュメントの『プログラミングマニュアル1?基本仕様ガイド』内、『HSPのしくみ』の項を参照してください。



ANTARES

リンク

2008/5/9(Fri) 21:50:09|NO.15754

 結論としては、「#include ……」は無関係で、
start.axをパックしてないなど、exeファイルの作り方を間違えている
ということです。



ONION software Copyright 1997-2023(c) All rights reserved.