日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

如何让插件代码同时兼容ats 5.x和ats 6.x的方法

發布時間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何让插件代码同时兼容ats 5.x和ats 6.x的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近一年來,ats的代碼進行了較大的修改, 很多接口的聲明都有較大變動. 比如

tsapi TS_DEPRECATED TSReturnCode TSHttpIsInternalRequest(TSHttpTxn txnp);
tsapi TSReturnCode TSHttpTxnIsInternal(TSHttpTxn txnp);

TSPluginRegister(TS_SDK_VERSION_3_0, &info)
tsapi TSReturnCode TSPluginRegister(TSPluginRegistrationInfo *plugin_info);

如何讓老插件在ats新版本中使用, 如何才能根據所在的ats的版本來調用相對應的ATS的API是一個亟待解決的問題.

下面是我摸索的結果, 示例如下:

基本思路是在插件代碼中判斷當前ats的版本號, 根據不同的版本調用對應的API. ats 5.x及以前的版本基本上沒有多大變化, ats 6.x及以后的版本變化較大.

使用這個宏TS_VERSION_MAOR來判斷,這個宏定義在編譯時生成在apidefs.h,它包含在ts/ts.h中,所以請在插件這包含 #include?"ts/ts.h" 使用下面的條件表達式進行判斷 #if?TS_VERSION_MAJOR?<?6 xxxxxxxxxxxxxxxxxxxxxxxxxxx #else xxxxxxxxxxxxxxxxxxxxxxxxxxxx #endif 下面是代碼截圖示例:


總結

以上是生活随笔為你收集整理的如何让插件代码同时兼容ats 5.x和ats 6.x的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。