- C言語なら俺に聞け(入門編)Part 127©2ch.net
585 :デフォルトの名無しさん[]:2015/05/01(金) 11:33:23.41 ID:mcLYTm8y - 質問。線形リストのメモリ解放なんですが、前からfreeしてくとダメ、
みたいなことってあるんすか? BOOL FreeNodes() { node_t *p; node_t *pp; p = Nodes->next; while(TRUE) { pp = p->next; if(pp == NULL) break; free(p->str); free(p); p = pp; } return TRUE; } とかやったんですがエラー出る。。。
|
- C言語なら俺に聞け(入門編)Part 127©2ch.net
588 :デフォルトの名無しさん[sage]:2015/05/01(金) 12:38:22.15 ID:mcLYTm8y - レスどもです。Win32APIのオベンキョウ中だったもので、エラーはSDKの
dbgheap.c内CheckBytes()なる関数で起き、unsigned char *pbという引数で渡された 中身が<不適切なPtr>となっています。 渡した文字列の問題であってC言語での線形リストの弄り方の問題でなければ いいのですが、TCHARとかすらよくわかっとらん状態なんで混乱してました。 >>585でのやりかた自体に問題はないってことでおk?
|
- C言語なら俺に聞け(入門編)Part 127©2ch.net
594 :デフォルトの名無しさん[sage]:2015/05/01(金) 14:19:36.65 ID:mcLYTm8y - いろいろどうもありがとう。
確かに>>585だと最後のNodeをfreeしませんね。そこも穴でした。 が、直してもエラーは出るし、Nodeはつくる度にnextにNULL入れてました。 そんなわけで他のところを疑ってみます。 ここ自体はおかしくないと分かっただけでも相当有難いっす。どもでした。
|
- Win32API質問箱 Build120©2ch.net
216 :デフォルトの名無しさん[sage]:2015/05/01(金) 16:17:44.56 ID:mcLYTm8y - 複数行richeditで一行の高さをピクセルで得たいのですが、
CHARFORMAT構造体のdw.yHeightはtwip単位。 twipからpixelへの間には各環境のdpiが絡んでらっしゃると。 てことはGetDeviceCapsとかを呼んでアレコレするしかないってことなんでしょうか。 現フォントの大きさ高さをピクセル単位で保存してるプロパティ的なものって ないんでしょうか。 昔はだいたい96dpiだったと知りましたが、実際計ってみると確かに 96dpiではおかしい大きさで表示しとりますです。
|