なんだか雲行きの怪しい雑記帖

ぐだぐだ日記とメモと,あと不定期更新

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【HSP】HSP用のプラグインHPIを作るまでの一通りの流れと寄り道


ずっと誰かがこういう記事書くだろうと思って早2,3年.
誰も意外とこういう記事書かないので書いてみようと思って書いてみます.


この記事は


HSP用のプラグイン(HPI)の作り方をSDKに沿って説明します.
基本的な作り方の説明が記事としての主眼ではありますが,ちょっとした小ネタみたいなのも混ぜていこうかなと思います.

というのも,私自身HSPのプラグインとしてちょっと規模が大きめ(だと自分では勝手に思っている)の,動的実行のためのプラグイン「mist」を作っている時にSDKで迷ったり悩んだりした点が「結構」あったので,探してもあまり資料なかったしどうせならそれらをまとめて資料として公開した方がいいかな,と思ったのが理由の一つです.
もう一つ個人的にはそこそこ大きな理由がありますが…そちらは後述.

HSP自体はバイトコードを埋め込んで実行させることができたり,COMを扱えるためプラグインなしでもかなり広範囲に手が届く(というよりは,やろうと思えばできる)ようになっていますが,それでもプラグインならではのメリットもあります.

ぱっと思いつくところでは
  • バイトコードを埋め込んだりせず,コマンド・関数を定義して機能追加できるため,無理せず拡張できる(機能自体の改変が比較的容易:ただし,モジュールよりは改変のし安さは難しいですが)
  • HSPのインタープリター上ではなくOS上で実行されるので高速
  • HSP内部の情報や変数情報も取得可能なため,通常のDLLに比べより状況に則した(HSP的に書きやすい)機能の追加が可能
  • ほぼ同一のコードでランタイム内にコードを組み込み,拡張ランタイムとして本体に埋め込み可能※

ら辺が分かりやすいメリットでしょう.
※ただしかなり難易度高いです,多分後述

対象読者

  • プラグイン作ってみたい人
  • HSPが書ける人
  • C/C++が若干書ける人
  • VisualStudioが触れる人

続きを読む
スポンサーサイト

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。