1.rpm -qa 的c**的實現
這是寫死的,僅實現rpm -qa的功能
[main.c]
#include #include #include #include #include static struct poptoption optionstable=,,,
,popt_autoalias
popt_autohelp
popt_tableend
};int main(int argc,char *argv)
; context = rpmcliinit(2,abc,optionstable);
if(context == null)
ts = rpmtscreate();
if(qva->qva_mode == 'q')
ec = rpmcliquery(ts,qva,(argv_const_t)poptgetargs(context));
}else if(qva->qva_mode == 'v')
ec = rpmcliverify(ts,qva,(argv_const_t)poptgetargs(context));
}else
ts = rpmtsfree(ts);
context = rpmclifini(context);
return ec;
}
編譯:gcc main.c -o main -i /usr/include/rpm -lrpm -lrpmio -lpopt
執行:./main
2. rpm [options]的實現
這段**是活的,可以實現rpm -qa /-qf ......等一些基本功能的實現
#include #include #include #include #include static struct poptoption optionstable=,,,
,popt_autoalias
popt_autohelp
popt_tableend
};int main(int argc,char *argv)
ts = rpmtscreate();
if(qva->qva_mode == 'q')
ec = rpmcliquery(ts,qva,(argv_const_t)poptgetargs(context));
}else if(qva->qva_mode == 'v')
ec = rpmcliverify(ts,qva,(argv_const_t)poptgetargs(context));
}else
ts = rpmtsfree(ts);
context = rpmclifini(context);
return ec;
}
編譯: gcc main.c -o main -i /usr/include/rpm -lrpm -lrpmio -lpopt
執行: ./main -qa (可以實現 rpm -qa 的功能,也可傳別的引數,讀者可自己試驗)
介面的實現
1 介面的實現 class 類名 implements 介面1,介面2,介面3 方法1 方法2 介面實現的注意事項 1 為介面中所有的方法提供具體的實現。2 必須遵守重寫的所有規則。重寫的規則 1 子類的重寫方法不能丟擲更大的異常 2 子類的重寫方法不能有更小的訪問範圍 父類 public void...
C 介面 介面的實現
c 定義了介面後,就要在子類中實現。c 中通常把子類和父類的關係稱為繼承,子類和介面的關係稱為實現。子類可以繼承乙個父類,可以實現多個介面。介面中不能定義建構函式,所以介面不能例項化。下面我們看例子 using system public inte ce ichoose public class t...
列舉裡面的介面的實現
列舉式乙個類,這個類,同樣也有類改由的功能,今天來說說列舉來實現介面。下面還是來看看 吧.首先我們定義乙個介面 介面裡面由兩個抽象方法.如下.public inte ce enuminte ce下滿我們來定義我們的列舉型別的類,分別由三個物件,分別有自己的構造方法.如下.public enum de...