Mercurial > hg > Document > Growi
view user/anatofuz/note/2021/01/09.md @ 20:3fd21f4cadc3
backup 2021-01-10
author | autobackup |
---|---|
date | Sun, 10 Jan 2021 00:10:03 +0900 |
parents | |
children |
line wrap: on
line source
# 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をいじる必要性がありそう...