Mercurial > hg > Papers > 2017 > mitsuki-thesis
diff final_main/chapter3.tex @ 9:11ad5b3e7b85
update
author | mir3636 |
---|---|
date | Wed, 15 Feb 2017 14:53:26 +0900 |
parents | b35c8fcff7d5 |
children | 86f6bb9be40a |
line wrap: on
line diff
--- a/final_main/chapter3.tex Wed Feb 15 11:06:39 2017 +0900 +++ b/final_main/chapter3.tex Wed Feb 15 14:53:26 2017 +0900 @@ -82,12 +82,12 @@ そこで Code Gear がデータを参照するための Gearef というマクロを定義した。 Gearef に Context と型を渡すことでデータの参照が行える。 また impliment を参照する際も、ポインタでの記述が複雑になってしまうため 同様に GearImpl を定義した。 +GearImpl は Context と interface 名、interface の変数名を指定して参照する。 Gearef と GearImpl を用いたコードがリスト\ref{Gearef}である。 \begin{lstlisting}[frame=lrbt,label=ref,caption={Gearef、GearImplのないコード}] __code pushSingleLinkedStack_stub(struct Context* context) { SingleLinkedStack* stack = (SingleLinkedStack*)context->data[D_Stack]->Stack.stack->Stack.stack; - Data* data = Gearef(context, Stack)->data; Data* data = context->data[D_Stack]->Stack.data; enum Code next = context->data[D_Stack]->Stack.next; goto pushSingleLinkedStack(context, stack, data, next); @@ -103,7 +103,6 @@ } \end{lstlisting} - \section{stub Code Gear} Code Gear が必要とする Data Gear を取り出す際に Context を通す必要がある。 しかし、Context を直接扱うのはセキュリティ上好ましくない。