我應(yīng)該快有一年工作經(jīng)驗(yàn),雖然畢業(yè)才沒有幾天。 一點(diǎn)都不傷感,因?yàn)闆]有感覺,一直都在工作。
我的工作前段時(shí)間主要給寫IDL接口(下個(gè)月開始投向GIS開發(fā)),主要是AUTOCAD的接口,我公司用teigha的庫。
不得不說代碼寫的真的漂亮,幫助文檔也寫的很好。
IDL 資料本身就很少,IDL 接口資料就幾乎就一本老外的書籍,而且版本比較老了,所以難度還是有一點(diǎn)的。
我現(xiàn)在對(duì)IDL接口應(yīng)該是比較熟練,如果你遇到一些問題,可以問我,maybe我是知道的。
好了,說一下正題。
在IDL中大量使用關(guān)鍵字,所以我們?cè)陂_發(fā)IDL接口當(dāng)中用到關(guān)鍵字也是非常多的。
我就不分析關(guān)鍵字的原理了,因?yàn)榭煲掳嗔恕?br />最新版關(guān)鍵字用法和以前老版本不一樣所以需要注意。
例子代碼在幫助文檔有。
現(xiàn)在我覺一個(gè)例子
現(xiàn)在我們定義關(guān)鍵字的IDL_KW_PAR
static IDL_KW_PAR kw_pars[] = {
{“BLOCK”,IDL_TYP_STRING,1,0,(int*)IDL_KW_OFFSETOF(block_there),(char*)IDL_KW_OFFSETOF(Block)},
{"INDEX",IDL_TYP_LONG,1,0,(int*)IDL_KW_OFFSETOF(index_there),(char*) IDL_KW_OFFSETOF(index),
{NULL}
};
這里就定義好了 IDL_KW_PAR.
注意一個(gè)問題,BLOCK 和 INDEX 定義順序有講求。
你必須要把BLOCK放到INDEX上面。
因?yàn)锽 < I 。
如果沒有按照這樣順序聲明你就使用關(guān)鍵字就會(huì)出現(xiàn)不能分配關(guān)鍵字。
因?yàn)檫@個(gè)必須 按照 in LEXICAL order (詞法順序來弄)。
你會(huì)覺得這個(gè)非常好笑,但卻是是這樣的,這個(gè)在idl help 里面是沒有說明的。
這個(gè)是我在分析export.h 發(fā)現(xiàn)問題解決方法。
我就簡單說到這里吧。
如果你想知道IDL 怎么在結(jié)構(gòu)體里面?zhèn)鬟f IDL_VPTR 或者 怎么返回動(dòng)態(tài)的數(shù)據(jù) 或者 === 或者 一些DWG的東西也可以找我哦。
其實(shí)我想說我擅長網(wǎng)絡(luò)開發(fā)行不呢!!?。。?br />My QQ 群:274301756
速度下班,我IT 但我從來不加班。。。
posted on 2013-06-25 17:34
小魚兒 閱讀(2617)
評(píng)論(2) 編輯 收藏 引用