2024年10月10日木曜日

x11 プログラム開発 Valgrind


表題の通り、最近ハマってます
linuxに移行してしばらくになるけどほぼアプリはpyqtとQtで作ってきた。でも少し落ち着いてきて画像ビュアー、これはWINでQtで作ってたものをほぼそのままlinuxに移して使ってたんだけど、この起動速度が不満になってきた。
WINだとWin32apiで作ったものとQtで作ったものでは起動速度が全然違う。LinuxにはWin32apiのようなosが用意した低レベルのものはないけど、ウインドウを出して画像を描画するだけならx11を使えばいけることがわかった。そこでここ一月くらいAIに聞きながらいろいろ試行錯誤してなんとかx11ベースで実用に耐えるビュアーができた。
GUIにボタンを配置したり何らかの入力を促したりはできないけど、マウスジェスチャやキーボード・ショートカットは使える。結構x11だけでも行ける。Qtのビュアーで実装してきた様々な機能は外部アプリの形で呼び出すことにした。

今はlinuxでGUIアプリを作成するならQtのようなフレームを使うのが多分普通なんだろうけど、やっぱり低レベルアプリは楽しい。Qtアプリ開発はいかにQtのウィジェットを使いこなすかにかかってるけど、x11だとシステムとc言語との格闘になる。汎用性があるような気がしてやっててすごく面白い。

しばらく解決しなかったビュアーのバグがAIの助言でValgrindというアプリを使うことで解決した。gccのメッセージでもgdbでも指摘してくれなかったメモリ操作のミスを教えてくれた。こういうのが楽しいよね。
この年齢でこれ以上プログラミングを覚えてどうするんだろうって気もするけど楽しいからやめられない。

0 件のコメント:

コメントを投稿