Mudos擴展efunc,packages方式mongodb
首先packages目錄建好C文件函數
咱們這裏測試了一個mongodb的測試
mongodb_spec.cspa
mongodb.hdebug
mongodb.ccode
這裏具體的代碼能夠參考packages目錄下的其餘efunc的結構,同樣就好了blog
mongodb_spec.c 是定義導出函數的開發
爲了能夠控制本身開發的efunc是否被啓用還須要到option.h 去定義個宏 我這裏用的是#define PACKAGE_MONGODBstring
而後從新編譯一下edit_source 就在其餘地方自動生成想關聯的導出數據了,被自動生成的幾個文件efun_protos.h efunction.h opcodes.hit
而後就能夠在mongodb.c編寫代碼了
mongodb.c的代碼
#ifdef LATTICE #else #include "../std.h" #include "../lpc_incl.h" #include "../debug.h" #include "../comm.h" #endif #ifdef PACKAGE_MONGODB #ifdef F_MGDB_CONNECT void f_mgdb_connect PROT((void)) { int fd, num_arg = st_num_arg; // svalue_t *arg = sp - 1; char str[] = {"char"}; debug_message(" <f_mgdb_connect> port %d, %s string2:%s %s \n", (sp-2)->u.number, str,(sp-1)->u.string,sp->u.string); pop_n_elems(num_arg); push_malloced_string("test!!"); } #endif #endif