こんばんわ
幾らかひっかかったキーワードがあるので
それに関して少々書いてみます
・「やりたい事」
このスレ書きながら見えてきたんですけど
githubで めっけた某簡易言語(Cで書かれてる)
をdll化してHSPから呼び出すようにして
今年のコンテストに投稿です
今年はイマイチ ゲームの案がないんですよね
・「やってみてここが問題になってる」
で、それを改造してみたいんですけど
mallocとかcallocとか結構使ってて
そこが全然理解出来ないんです
ポインタもあんまりわかんないんですけど
たぶんほとんど配列的使用だな。と予想してます
前はこれをCからHSPに翻訳しようかな。と思ってたんですが
ポインタもmallocも結構使ってて
簡易言語 深く理解して
車輪の再発明的製作が必要そうで
まだ無理そうです
ポインタはCにあってHSPにない
機能の大きな1つみたいですから
・メモリ
https://wiki.hsp.moe/MakeHPI/cpp/chapter2.html
>データを保持するための領域に静的変数を使うか、動的確保にするかの制限はありませ ん。
>C/C++ならmalloc()で動的割り当ても可能です。
>ただしこの場合メモリ管理はプログラマが全責任を負って行う必要があります。
http://prograpark.ninja-web.net/index.html
Home -> HSP講座 -> HPI編 No.05
>hspmalloc, hspexpand, hspfree は、関数 malloc, realloc, free とほぼ同じです。
>実装は sbAlloc, sbExpand, sbFree 関数です。
>strmul() 関数は、実装の都合上 hspfree( psResult ) としませんが、
>hspmalloc した領域はHSPの終了時に解放されるので、
>メモリリークの心配はありません (いわゆる内部リークはします)。
両方一部抜粋っす
関心のある方はURL辿ってくださいな
やっぱりdllでmallocしたのはfreeしないとメモリ・リークになるという意見が多いですね
「DLLについて」のくだりは参考になります
DLLは講座サイトを参考にして サンプルをDLLに出来ました
CはINPUT/OUTPUT処理を改造するなりなんなり
そっちの方向からも攻めていきたいです
全体像のイメージは
命令で動いて
止まる時に
プログラムカウンタとかもろもろの情報を返します
いっぺんにじゃなく 何回か命令呼び出して
再開はプログラムカウンタを渡すとそこからまた動きます
dllをライブラリとして使うのではなく
dllが全体の処理で 入出力とかで止まった時にHSPが動いて
命令呼び出して動くの再開みたいな
やりたいことをネットに書くと やんなくなるという噂がありまして
何のCプログラムか?とか 全体のイメージとか(大分ぼやかして書いてはおきましたが)
書いちゃってて 大丈夫かな?ってかんじです