a25_buntan04
のバックアップ(No.5)
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
バックアップ一覧
差分
を表示
現在との差分
を表示
ソース
を表示
a25_buntan04
へ行く。
1 (2025-05-07 (水) 14:04:06)
2 (2025-05-07 (水) 14:35:30)
3 (2025-05-07 (水) 19:19:57)
4 (2025-05-07 (水) 21:12:27)
5 (2025-05-08 (木) 21:20:18)
6 (2025-05-09 (金) 18:08:51)
7 (2025-05-10 (土) 09:30:19)
8 (2025-05-12 (月) 15:47:14)
9 (2025-05-17 (土) 13:51:20)
10 (2025-05-19 (月) 12:35:43)
11 (2025-05-19 (月) 14:11:51)
12 (2025-05-20 (火) 09:18:43)
13 (2025-05-21 (水) 13:27:22)
14 (2025-05-23 (金) 11:02:37)
15 (2025-05-24 (土) 01:11:09)
16 (2025-05-24 (土) 08:52:40)
17 (2025-05-24 (土) 13:22:03)
buntan-pc #4
(by
K
, 2025.05.07)
↑
(0)
https://github.com/buntan-pc/
これにかかわる開発の話
↑
2025.05.07 Wed #0
今日はacl3.cを仕上げて、kuas.cをacl3.cに対応させたいです。
ソースコードのサイズ比較(kuas04a→kuas05a):
aclmini.c/acl3.c
5125バイト → 9563バイト
kuas.c
11106バイト → 9552バイト
ライブラリは結構いろいろ追加したので、増えたのはしょうがないかなー。
kuas.cが1554バイト減ったのはうれしいです。それだけacl3.cはうまく開発をアシストできているということだと思います。
このライブラリを使っただけで、アセンブラが10KB未満で書けるのなら、それは十分に楽しいと私は思うのです。
https://essen.osask.jp/files/kuas05a.zip
(6.17KB)
ソースファイルのみです。書いてないけどライセンスはKL-01です。buntan-pcにマージされたものは、MITライセンスになります。
コンパイルの際は、 kuas.c のみコンパイルすればいいです。acl3.cは勝手にインクルードされます。
↑
2025.05.07 Wed #1
実はAX_printf()っていうのを作りたい。これがあれば事前に十分な大きさのバッファを用意するとかしなくてよくなるから、プログラムがすごく気楽に作れるはずだ。そのためにはAX_printfの中でvsnprintf()を使えばよさそうだけど、サイズが足りなかったらバッファサイズを2倍とかにして何回かやり直すのだろうか。うーん、それはちょっと遅そうだなあ。
と思ったら、snprintf族は、バッファに収まらなかった場合でも「仮にバッファが十分にあったとしたら何文字出力したか」を返すらしい。それはいい!これならバッファを拡大しながら呼び直すなんていうループはいらない。2回目で必ず成功できる。
参考:
https://surf.st.seikei.ac.jp/~nakano/JMwww/html/LDP_man-pages/man3/printf.3.html
↑
2025.05.07 Wed #2
C言語のプリプロセッサを自作するのは大変だろうか・・・。もし簡単に作れるのなら作ってみたいかも・・・。
プリプロセッサって何をやればいいんだろう?
#define #undef #if ~ #elif ~ #else ~ #endif #include # ##
これくらいでいいのかな?これならなんか比較的簡単にできそうな気がしないでもない。
↑
2025.05.08 Thu #0
とりあえず、includeは問題なくできるようになった気がする。入れ子になっていても動いているし、循環参照になっても止まれるようにしてみた。
次はdefineかな。