検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
hspmallocに関するスレッド をテンプレートにして作成
最新の20件
2020-04-07
TEST
2018-12-11
RecentDeleted
2017-09-13
bccでdll作成
2017-09-12
index
hspmallocに関するスレッド
2017-09-05
経済学に関するエッセイ
plus_double_module_ver0.1
plus_double_module_ver0.01
plus_float_module_ver0.03
plus_float_module_ver0.02
plus_float_module
plus_modules
(仮)クリーンHSPに関する資料 ver0.2
雑談:ロールモデルに関するおしゃべりページ ver0.2
雑談:今年(今月)の抱負に関するおしゃべりページ ver0.2
HSPへの要望に関するおしゃべりページ ver0.2
HSP-Boost (HSP用ライブラリ)に関する議論 ver0.2_D
HSP-Boost (HSP用ライブラリ)に関する議論 ver0.2 C
HSP-Boost (HSP用ライブラリ)に関する議論 ver0.2 B
HSP-Boost (HSP用ライブラリ)に関する議論 ver0.2
Total:0/Today:0
開始行:
** NO.80787 [#lbc5f3bc]
こんにちわ
hspmallocが変数解放を最後に行ってるのに憧れて
定義を探してるのですが 自分の検索スキルではみつからなく...
hsp3struct.hに
// Plugin info data (3.0 compatible)
331 typedef struct HSPEXINFO30
381 char *(*HspFunc_malloc)( int size );
と書いてあるところまで辿れたんですけど
その処理をどこに書いてるのかわからなくて
記述の箇所を教えていだたけると幸いです
-- Y_repeat氏 2017/7/31(Mon)
** NO.80788 [#q7681e6c]
通常strbuf.cppのsbAlloc関数と思われます。
-- tds12氏 2017/7/31(Mon)
** NO.80789 [#w551bdbf]
ご回答ありがとうございます
strbuf.cppのsbAllocは
返り値で
91 static char *BlockAlloc( int size )
を呼んでるぽいですね
こういうのはどう検索したらいいのでしょうか
OpenHSPをDLして検索かけるかんじですか?
とはいえtds12さんなら
なんとなく頭に入ってそうですね
-- Y_repeat氏 2017/7/31(Mon)
** NO.80790 [#e2109b1a]
Visual Studioを使っているなら(2013で確認)
ソースのキーワードの上で右クリックしてメニューから
「すべての参照の検索」をすると、
そのキーワードが使われている一覧が出てきます。
そこで代入されているところを探して、
その代入している関数の「定義へ移動」をしました。
-- tds12氏 2017/7/31(Mon)
** NO.80811 [#zb6275c9]
VisualStudio2012でやってみました
無事、動作を確認出来ました
ありがとうございました
追記 OpenHSPからのDLの仕方がわからなくて
試行錯誤した後 ググったらzakkiさんのgithubんとこに
ちょっと古いかもしれないですが 一式あったので
メモ的追記でした
-- Y_repeat氏 2017/8/3(Thu)
** NO.81220 [#dcf11cdc]
例えば DLLとかは メモリーリークってどんなかんじなんです...
少々メモリーリークしてても リークしてるアプリとかが終了...
リークしてるメモリ含め 返却されるもんなんですか?
僕の考えはそれっぽくて 少々メモリーリークしてもいいかな...
メモリーリーク寛容で作ってた場合
メモリーリーク少々してても アプリ終了で返却なら
下手なメモリ管理でメモリ参照時 なくてエラー
と同じようなリスクのような気がするんですよね
DLLの中でmallocした場合
使用してる関数の中でmallocして
関数抜けてもその変数は生きてるっぽいのですが
そのような場合
mallocはHSPmallocでして
onexitした場合にfreeすればOKっぽいっすね
onerrorの処理も書かなきゃダメなのかなあ
-- Y_repeat氏 2017/9/3(Sun)
** NO.81303 [#qa29e655]
質問が漠然としすぎだったのでまとめてみます
mallocしてメモリを割り当てると
そのexeが終了した時
割り当てたメモリは解放されるんですか?
dllの中でmallocしたメモリはどうなんすか?
自分的には解放してくれそうに思うんですが
あくまでも推測の域を出ず
詳しい人のおすみつきが欲しい訳であります
Yahoo!知恵袋に行きなさいなら行くので
よろしくお願いします
-- Y_repeat氏 2017/9/10(Sun)
** NO.81304 [#ff8ebd98]
> mallocしてメモリを割り当てると
> そのexeが終了した時
> 割り当てたメモリは解放されるんですか?
はい。
開放されます。
> dllの中でmallocしたメモリはどうなんすか?
dllが生きてる限りはメモリ・リークのままでしょうね。
-- 科学太郎氏 2017/9/10(Sun)
** NO.81305 [#f5e27edd]
回答ありがとうございます
ただ まだもやもやしてて
というのもCはdllの中で使いたいので
>> dllの中でmallocしたメモリはどうなんすか?
>dllが生きてる限りはメモリ・リークのままでしょうね。
ということですが
exeが終了した時 exeの中で呼び出した
dllの中でmallocしたメモリも解放されるんですか?
onexitとonerrorの処理で明示的にdllを解放しなきゃいけない...
どうも質問ばっかでスイマセン
-- Y_repeat氏 2017/9/10(Sun)
** NO.81306 [#g0d5cffb]
DLL が終了する際、DllMain が呼ばれて、その中の fdwReason ...
設定され、それが DLL_PROCESS_DETACH である場合 DLL 終了の...
そこで DLL で確保したメモリーを解放すればいいんじゃないの?
-- MillkeyStars氏 2017/9/10(Sun)
** NO.81307 [#ra042c42]
重箱の隅をつつくような書き込みで申し訳ない
DLL作成においてmallocの使用が全然イメージ出来ないんですよね
DLLじゃなくても使ったことないんですが
>そこで DLL で確保したメモリーを解放すればいいんじゃない...
なるほどそういうことでしたらHSPmallocでまとめて解放出来た...
>DLL が終了する際
DLLはexeの終了と共に終了すると思っていましたが
明示的に終了させる必要があるんですか?
ちょっとググったら
>プログラムを終了させるには、exit()を使います。
と書いていたんですが
DLLの中でexit()の使用でDLL終了という認識でOKですか?
-- Y_repeat氏 2017/9/10(Sun)
** NO.81315 [#n445714d]
以前作成したwikiのまとめサイトみたいのに
ここのスレッドの内容をコピペしようと思っているので
コピペして欲しくない人がいましたらご一報ください
いつのまにかスパムに荒らされて移転中でございますが^^;
-- Y_repeat氏 2017/9/10(Sun)
終了行:
** NO.80787 [#lbc5f3bc]
こんにちわ
hspmallocが変数解放を最後に行ってるのに憧れて
定義を探してるのですが 自分の検索スキルではみつからなく...
hsp3struct.hに
// Plugin info data (3.0 compatible)
331 typedef struct HSPEXINFO30
381 char *(*HspFunc_malloc)( int size );
と書いてあるところまで辿れたんですけど
その処理をどこに書いてるのかわからなくて
記述の箇所を教えていだたけると幸いです
-- Y_repeat氏 2017/7/31(Mon)
** NO.80788 [#q7681e6c]
通常strbuf.cppのsbAlloc関数と思われます。
-- tds12氏 2017/7/31(Mon)
** NO.80789 [#w551bdbf]
ご回答ありがとうございます
strbuf.cppのsbAllocは
返り値で
91 static char *BlockAlloc( int size )
を呼んでるぽいですね
こういうのはどう検索したらいいのでしょうか
OpenHSPをDLして検索かけるかんじですか?
とはいえtds12さんなら
なんとなく頭に入ってそうですね
-- Y_repeat氏 2017/7/31(Mon)
** NO.80790 [#e2109b1a]
Visual Studioを使っているなら(2013で確認)
ソースのキーワードの上で右クリックしてメニューから
「すべての参照の検索」をすると、
そのキーワードが使われている一覧が出てきます。
そこで代入されているところを探して、
その代入している関数の「定義へ移動」をしました。
-- tds12氏 2017/7/31(Mon)
** NO.80811 [#zb6275c9]
VisualStudio2012でやってみました
無事、動作を確認出来ました
ありがとうございました
追記 OpenHSPからのDLの仕方がわからなくて
試行錯誤した後 ググったらzakkiさんのgithubんとこに
ちょっと古いかもしれないですが 一式あったので
メモ的追記でした
-- Y_repeat氏 2017/8/3(Thu)
** NO.81220 [#dcf11cdc]
例えば DLLとかは メモリーリークってどんなかんじなんです...
少々メモリーリークしてても リークしてるアプリとかが終了...
リークしてるメモリ含め 返却されるもんなんですか?
僕の考えはそれっぽくて 少々メモリーリークしてもいいかな...
メモリーリーク寛容で作ってた場合
メモリーリーク少々してても アプリ終了で返却なら
下手なメモリ管理でメモリ参照時 なくてエラー
と同じようなリスクのような気がするんですよね
DLLの中でmallocした場合
使用してる関数の中でmallocして
関数抜けてもその変数は生きてるっぽいのですが
そのような場合
mallocはHSPmallocでして
onexitした場合にfreeすればOKっぽいっすね
onerrorの処理も書かなきゃダメなのかなあ
-- Y_repeat氏 2017/9/3(Sun)
** NO.81303 [#qa29e655]
質問が漠然としすぎだったのでまとめてみます
mallocしてメモリを割り当てると
そのexeが終了した時
割り当てたメモリは解放されるんですか?
dllの中でmallocしたメモリはどうなんすか?
自分的には解放してくれそうに思うんですが
あくまでも推測の域を出ず
詳しい人のおすみつきが欲しい訳であります
Yahoo!知恵袋に行きなさいなら行くので
よろしくお願いします
-- Y_repeat氏 2017/9/10(Sun)
** NO.81304 [#ff8ebd98]
> mallocしてメモリを割り当てると
> そのexeが終了した時
> 割り当てたメモリは解放されるんですか?
はい。
開放されます。
> dllの中でmallocしたメモリはどうなんすか?
dllが生きてる限りはメモリ・リークのままでしょうね。
-- 科学太郎氏 2017/9/10(Sun)
** NO.81305 [#f5e27edd]
回答ありがとうございます
ただ まだもやもやしてて
というのもCはdllの中で使いたいので
>> dllの中でmallocしたメモリはどうなんすか?
>dllが生きてる限りはメモリ・リークのままでしょうね。
ということですが
exeが終了した時 exeの中で呼び出した
dllの中でmallocしたメモリも解放されるんですか?
onexitとonerrorの処理で明示的にdllを解放しなきゃいけない...
どうも質問ばっかでスイマセン
-- Y_repeat氏 2017/9/10(Sun)
** NO.81306 [#g0d5cffb]
DLL が終了する際、DllMain が呼ばれて、その中の fdwReason ...
設定され、それが DLL_PROCESS_DETACH である場合 DLL 終了の...
そこで DLL で確保したメモリーを解放すればいいんじゃないの?
-- MillkeyStars氏 2017/9/10(Sun)
** NO.81307 [#ra042c42]
重箱の隅をつつくような書き込みで申し訳ない
DLL作成においてmallocの使用が全然イメージ出来ないんですよね
DLLじゃなくても使ったことないんですが
>そこで DLL で確保したメモリーを解放すればいいんじゃない...
なるほどそういうことでしたらHSPmallocでまとめて解放出来た...
>DLL が終了する際
DLLはexeの終了と共に終了すると思っていましたが
明示的に終了させる必要があるんですか?
ちょっとググったら
>プログラムを終了させるには、exit()を使います。
と書いていたんですが
DLLの中でexit()の使用でDLL終了という認識でOKですか?
-- Y_repeat氏 2017/9/10(Sun)
** NO.81315 [#n445714d]
以前作成したwikiのまとめサイトみたいのに
ここのスレッドの内容をコピペしようと思っているので
コピペして欲しくない人がいましたらご一報ください
いつのまにかスパムに荒らされて移転中でございますが^^;
-- Y_repeat氏 2017/9/10(Sun)
ページ名: