a22_memo01
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* ''a22''に関する雑記#1
-(by [[K]], 2021.03.29)
** 2022.03.29(火)
-なんか調子が出ないなと思ったら、「そうか[[a22_memo01]]を...
-今日はacl2ライブラリに追加中の、AMemAlc2というメモリアロ...
-個別にfreeしないのなら、メモリのアロケート処理は簡単にな...
[テストプログラム: AMemAlc1(普通のmalloc相当)で確保し...
AMemAlc0_report0: n=255 total=43456 // 実際の消費メモリ
AMemAlc0_report1: n=255 total=32640 // アラインのための...
[テストプログラム: AMemAlc2で確保した場合]
AMemAlc0_report0: n=3 total=32784 // 実際の消費メモリ
AMemAlc0_report1: n=3 total=32656 // アラインのためのパ...
-このテストでは、AMemAlc2を使ったほうがメモリブロック数(...
--report1の結果は、AMemAlc2のほうが16バイト多いですが、こ...
-お気に入りのライブラリ
--[AClean]メモリの開放やオブジェクトのdeinitをかなり楽に...
--[AMemAlc0]最も基本的なメモリアロケータ。サイズ指定を無...
--[AMemAlc1]AMemAlc0を28個たばねて、mallocのような感覚で...
--[AMemAlc2]個別の開放を許さない代わりに、メモリの利用効...
-あと、今日はデバッグレベルを2にするとacl2ライブラリがま...
-デバッグレベル2だとオブジェクトのチェック処理が有効にな...
** 2022.03.31(水)
-C言語の場合、確実に参照しない引数が末尾にある場合、それ...
** 2022.04.02(土)
-今までC++のオブジェクトの自動開放(スコープを抜けるとデ...
-上記の(2022.03.29)に書いたAMemAlc2をうまく使えば、連続し...
-ガーベージコレクションを実装せずに、同等の機能を実現する...
-このときメモリアロケータをわければ、新しいほうが最初から...
-ちなみにacl2ライブラリでは、標準のAMemAlc1の上にAMemAlc2...
** 2022.04.03(日)
-HLX-003cをacl2ライブラリに対応させて、コンパイルが通るよ...
-これ、もし本当にバグを見つけてくれているのだとしたら、す...
-ちなみにデバッグレベル0でも、行数の多いプログラムを実行...
** 2022.04.04(月)
-本当にバグでした。ただし、間違っていたのはHLXではなくて...
-さて、改良を始めると止まらなくなるので、まずはいったんこ...
** 2022.04.08(金)
-C言語は仕様が単純で作りやすい言語だと思うけれど、しかし...
-以下、思いついたことを書いてみました。
--[1]char/short配列をint配列に変換したり、int配列をchar/s...
--[2]ポインタはintに入れることにする。構造体もポインタの...
--[3]floatやdoubleをあえてサポートせずに、double*だけサポ...
-うーん、これで言語を構成することはできるだろうけど、これ...
~
-acl2のバージョン02dです。
--http://k.osask.jp/files/acl02d_win.zip
** 2022.04.11(月)
-セキュアなプログラミングを支援するとしたら、どんな機能が...
-間違いを見つける機能のうち、コンパイル時に見つける方法と...
-一方で、実行時に見つける方法ならずっと簡単です。実行して...
-でも実行時検出はあまり人気がありません。それはおそらく実...
-そうなると、何を支援すればいいでしょう。デバッグチェック...
--初期化済みフラグを準備すれば、未初期化変数や未初期化メ...
--関数ポインタを使った呼び出しで、適切な値かどうかをCALL...
--不正ポインタのチェック(含む:配列のアクセス範囲チェッ...
--リードオンリーやライトオンリーの変数属性の設定
** 2022.04.13(水)
-私は、定期的にポインタのセキュリティチェック機構を作りた...
-でもそのたびに、「そんなの作ってもとてもじゃないけど使う...
-使う気にならないのは、ポインタに関する演算がマクロだらけ...
-でもなあ、こう何度も作りたくなって中途半端にしていると、...
-使いにくいということに関しては、HLXみたいな自作言語でサ...
** 2022.04.19(火)
-C++では、たとえば行列クラスを作ったとして、Matrix a, b;...
-私は先日までは、Javaのやり方が好きではありませんでした。...
-でも今の私はむしろJava方式が好きです。どれが一つを書き換...
-C++では、普通に代入すると結構重たいコピーが走ることにな...
** 2022.05.10(火)
-今はUFCSのトランスコンパイラを書いてみています。
int abc(char *s, int len) { long l; }
-を入力すると、 abc, s, len, l の型をおおざっぱに認識でき...
** 2022.05.11(水)
-UFCSのトランスコンパイラがもう少し進んでこうなりました。
int i; // これでiはint型だと認識される.
int int_fnc(int i, int j); // これで関数int_fncはintを返...
i.fnc(0).fnc(1).fnc(2);
-この最後の行は、
int_fnc ( int_fnc ( int_fnc ( i , 0 ) , 1 ) , 2 );
-に変換できるようになりました。
-あとはinclude処理を書けば、たぶん実用段階へ移行です。
* こめんと欄
#comment
終了行:
* ''a22''に関する雑記#1
-(by [[K]], 2021.03.29)
** 2022.03.29(火)
-なんか調子が出ないなと思ったら、「そうか[[a22_memo01]]を...
-今日はacl2ライブラリに追加中の、AMemAlc2というメモリアロ...
-個別にfreeしないのなら、メモリのアロケート処理は簡単にな...
[テストプログラム: AMemAlc1(普通のmalloc相当)で確保し...
AMemAlc0_report0: n=255 total=43456 // 実際の消費メモリ
AMemAlc0_report1: n=255 total=32640 // アラインのための...
[テストプログラム: AMemAlc2で確保した場合]
AMemAlc0_report0: n=3 total=32784 // 実際の消費メモリ
AMemAlc0_report1: n=3 total=32656 // アラインのためのパ...
-このテストでは、AMemAlc2を使ったほうがメモリブロック数(...
--report1の結果は、AMemAlc2のほうが16バイト多いですが、こ...
-お気に入りのライブラリ
--[AClean]メモリの開放やオブジェクトのdeinitをかなり楽に...
--[AMemAlc0]最も基本的なメモリアロケータ。サイズ指定を無...
--[AMemAlc1]AMemAlc0を28個たばねて、mallocのような感覚で...
--[AMemAlc2]個別の開放を許さない代わりに、メモリの利用効...
-あと、今日はデバッグレベルを2にするとacl2ライブラリがま...
-デバッグレベル2だとオブジェクトのチェック処理が有効にな...
** 2022.03.31(水)
-C言語の場合、確実に参照しない引数が末尾にある場合、それ...
** 2022.04.02(土)
-今までC++のオブジェクトの自動開放(スコープを抜けるとデ...
-上記の(2022.03.29)に書いたAMemAlc2をうまく使えば、連続し...
-ガーベージコレクションを実装せずに、同等の機能を実現する...
-このときメモリアロケータをわければ、新しいほうが最初から...
-ちなみにacl2ライブラリでは、標準のAMemAlc1の上にAMemAlc2...
** 2022.04.03(日)
-HLX-003cをacl2ライブラリに対応させて、コンパイルが通るよ...
-これ、もし本当にバグを見つけてくれているのだとしたら、す...
-ちなみにデバッグレベル0でも、行数の多いプログラムを実行...
** 2022.04.04(月)
-本当にバグでした。ただし、間違っていたのはHLXではなくて...
-さて、改良を始めると止まらなくなるので、まずはいったんこ...
** 2022.04.08(金)
-C言語は仕様が単純で作りやすい言語だと思うけれど、しかし...
-以下、思いついたことを書いてみました。
--[1]char/short配列をint配列に変換したり、int配列をchar/s...
--[2]ポインタはintに入れることにする。構造体もポインタの...
--[3]floatやdoubleをあえてサポートせずに、double*だけサポ...
-うーん、これで言語を構成することはできるだろうけど、これ...
~
-acl2のバージョン02dです。
--http://k.osask.jp/files/acl02d_win.zip
** 2022.04.11(月)
-セキュアなプログラミングを支援するとしたら、どんな機能が...
-間違いを見つける機能のうち、コンパイル時に見つける方法と...
-一方で、実行時に見つける方法ならずっと簡単です。実行して...
-でも実行時検出はあまり人気がありません。それはおそらく実...
-そうなると、何を支援すればいいでしょう。デバッグチェック...
--初期化済みフラグを準備すれば、未初期化変数や未初期化メ...
--関数ポインタを使った呼び出しで、適切な値かどうかをCALL...
--不正ポインタのチェック(含む:配列のアクセス範囲チェッ...
--リードオンリーやライトオンリーの変数属性の設定
** 2022.04.13(水)
-私は、定期的にポインタのセキュリティチェック機構を作りた...
-でもそのたびに、「そんなの作ってもとてもじゃないけど使う...
-使う気にならないのは、ポインタに関する演算がマクロだらけ...
-でもなあ、こう何度も作りたくなって中途半端にしていると、...
-使いにくいということに関しては、HLXみたいな自作言語でサ...
** 2022.04.19(火)
-C++では、たとえば行列クラスを作ったとして、Matrix a, b;...
-私は先日までは、Javaのやり方が好きではありませんでした。...
-でも今の私はむしろJava方式が好きです。どれが一つを書き換...
-C++では、普通に代入すると結構重たいコピーが走ることにな...
** 2022.05.10(火)
-今はUFCSのトランスコンパイラを書いてみています。
int abc(char *s, int len) { long l; }
-を入力すると、 abc, s, len, l の型をおおざっぱに認識でき...
** 2022.05.11(水)
-UFCSのトランスコンパイラがもう少し進んでこうなりました。
int i; // これでiはint型だと認識される.
int int_fnc(int i, int j); // これで関数int_fncはintを返...
i.fnc(0).fnc(1).fnc(2);
-この最後の行は、
int_fnc ( int_fnc ( int_fnc ( i , 0 ) , 1 ) , 2 );
-に変換できるようになりました。
-あとはinclude処理を書けば、たぶん実用段階へ移行です。
* こめんと欄
#comment
ページ名: