Mercurial > hg > Document > Growi
changeset 20:3fd21f4cadc3
backup 2021-01-10
author | autobackup |
---|---|
date | Sun, 10 Jan 2021 00:10:03 +0900 |
parents | ac8a0febc79b |
children | 4a2bfdc45e69 |
files | user/anatofuz/note/2021/01/09.md |
diffstat | 1 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/user/anatofuz/note/2021/01/09.md Sun Jan 10 00:10:03 2021 +0900 @@ -0,0 +1,26 @@ +# 2021/01/09 + +```c +typedef struct AtomicT <T>{ + union Data* atomicTImpl; + T newData; + __code checkAndSet(Impl* atomicTImpl, T newData, __code next(...), __code fail(...)); + __code next(...); + __code fail(...); +} AtomicT; +``` + +# tの置換 +- Tの境界が指定されていない場合 + - 置き換えられるかの確認 + - 置き換えられそうならコードを生成する + - 型(header) + - CodeGear +- Tの境界が指定されている場合 + - 型チェック + - data gearの同一性 + - primitive typeはwrapeperをいれる? + - 置き換えられそうなら置換する + +いずれにせよ.cbcと.hを生成する必要がありそう + - 動的にコンパイルする必要があるので、CMakeをいじる必要性がありそう...