jank实现C++无缝互操作的技术探索

因此通常不需要使用cpp/delete。但如果使用cpp/delete,内存回收可以更主动和确定。

该实现还完整支持bdwgc的析构函数,因此无论是手动删除还是自动回收都会触发非平凡析构函数。

代码语言:clojure

AI代码解释

(let [i (cpp/int. 500) p (cpp/new cpp/int i)] (assert (= i (cpp/* p))))

布尔值处理

为避免隐式的jank对象转换,我们现在可以使用cpp/truecpp/false,它们直接对应C++的bool类型。相比使用jank自动将Clojure的真值转换为C++值,这种方式能让生成的IR更精简。

复杂类型字符串

通过扩展符号系统支持指针类型表示,例如cpp/int**表示C++的int**类型。对于需要空格或逗号的模板场景,新增了(cpp/type "std::map<std::string, int>")语法。

预编译头文件(PCH)

为实现与jank运行时的无缝C++互操作,需要对jank的C++头文件进行JIT处理。为优化启动时间,新增了预编译头文件机制,在首次运行jank时自动完成编译。

稳定性保障

通过数百项互操作测试发现并修复了数组、全局指针、静态引用、函数指针等方面的问题。测试套件覆盖了PCH、IR优化等Clang/LLVM相关场景。

实际应用示例

通过流输出Hello World

代码语言:clojure

AI代码解释

(cpp/raw "#include <iostream>") (defn -main [& args] (cpp/<< cpp/std.cout (cpp/cast cpp/std.string "Hello, world!\n")) nil)
JSON格式化工具

集成现代C++ JSON库实现文件读取和格式化输出:

代码语言:clojure

AI代码解释

(cpp/raw "#include <fstream>") (cpp/raw "#include \"json.hpp\"") (defn -main [& args] (let [file (cpp/std.ifstream. (cpp/cast cpp/std.string (first args))) json (cpp/nlohmann.json.parse file)] (println (cpp/.dump json 2))))
FTXUI终端界面

使用ftxui库实现hiccup风格的终端布局:

代码语言:clojure

AI代码解释

(defn render-hiccup [hiccup] (let [document (->> (hiccup->element hiccup) (cpp/unbox cpp/ftxui.Element*) cpp/*) screen (cpp/ftxui.Screen.Create (cpp/ftxui.Dimension.Fixed 60) (cpp/ftxui.Dimension.Fixed 20))] (cpp/ftxui.Render screen document) (cpp/.Print screen) (println)))

未来规划

下个季度重点解决:

  1. 栈分配C++对象的自动析构调用
  2. 打包和分发系统优化
  3. 工具链完善和文档编写

m.jpd5h.pro/Blog/264426.shtm
m.jpd5h.pro/Blog/379193.shtm
m.jpd5h.pro/Blog/646884.shtm
m.jpd5h.pro/Blog/351123.shtm
m.jpd5h.pro/Blog/244426.shtm
m.jpd5h.pro/Blog/648486.shtm
m.jpd5h.pro/Blog/804440.shtm
m.jpd5h.pro/Blog/460448.shtm
m.jpd5h.pro/Blog/773779.shtm
m.jpd5h.pro/Blog/622604.shtm
m.jpd5h.pro/Blog/684206.shtm
m.jpd5h.pro/Blog/024642.shtm
m.jpd5h.pro/Blog/460082.shtm
m.jpd5h.pro/Blog/246886.shtm
m.jpd5h.pro/Blog/448000.shtm
m.jpd5h.pro/Blog/666406.shtm
m.jpd5h.pro/Blog/337397.shtm
m.jpd5h.pro/Blog/686468.shtm
m.jpd5h.pro/Blog/602086.shtm
m.jpd5h.pro/Blog/288228.shtm
m.jpd5h.pro/Blog/664082.shtm
m.jpd5h.pro/Blog/880286.shtm
m.jpd5h.pro/Blog/068284.shtm
m.jpd5h.pro/Blog/000024.shtm
m.jpd5h.pro/Blog/644680.shtm
m.jpd5h.pro/Blog/282244.shtm
m.jpd5h.pro/Blog/264402.shtm
m.jpd5h.pro/Blog/375731.shtm
m.jpd5h.pro/Blog/440440.shtm
m.jpd5h.pro/Blog/404404.shtm
m.jpd5h.pro/Blog/844046.shtm
m.jpd5h.pro/Blog/440264.shtm
m.jpd5h.pro/Blog/602460.shtm
m.jpd5h.pro/Blog/044446.shtm
m.jpd5h.pro/Blog/240806.shtm
m.jpd5h.pro/Blog/060246.shtm
m.jpd5h.pro/Blog/868260.shtm
m.jpd5h.pro/Blog/440488.shtm
m.jpd5h.pro/Blog/953379.shtm
m.jpd5h.pro/Blog/844606.shtm
m.jpd5h.pro/Blog/044002.shtm
m.jpd5h.pro/Blog/800828.shtm
m.jpd5h.pro/Blog/248868.shtm
m.jpd5h.pro/Blog/628066.shtm
m.jpd5h.pro/Blog/222224.shtm
m.jpd5h.pro/Blog/624022.shtm
m.jpd5h.pro/Blog/486242.shtm
m.jpd5h.pro/Blog/880286.shtm
m.jpd5h.pro/Blog/288662.shtm
m.jpd5h.pro/Blog/660044.shtm
m.jpd5h.pro/Blog/088840.shtm
m.jpd5h.pro/Blog/024846.shtm
m.jpd5h.pro/Blog/266086.shtm
m.jpd5h.pro/Blog/246008.shtm
m.jpd5h.pro/Blog/800868.shtm
m.jpd5h.pro/Blog/086242.shtm
m.jpd5h.pro/Blog/866622.shtm
m.jpd5h.pro/Blog/460408.shtm
m.jpd5h.pro/Blog/822022.shtm
m.jpd5h.pro/Blog/660284.shtm
m.jpd5h.pro/Blog/200486.shtm
m.jpd5h.pro/Blog/628666.shtm
m.jpd5h.pro/Blog/468266.shtm
m.jpd5h.pro/Blog/646688.shtm
m.jpd5h.pro/Blog/242260.shtm
m.jpd5h.pro/Blog/486084.shtm
m.jpd5h.pro/Blog/244068.shtm
m.jpd5h.pro/Blog/448660.shtm
m.jpd5h.pro/Blog/828664.shtm
m.jpd5h.pro/Blog/484644.shtm
m.jpd5h.pro/Blog/026064.shtm
m.jpd5h.pro/Blog/202600.shtm
m.jpd5h.pro/Blog/662242.shtm
m.jpd5h.pro/Blog/666044.shtm
m.jpd5h.pro/Blog/804826.shtm
m.jpd5h.pro/Blog/464224.shtm
m.jpd5h.pro/Blog/082006.shtm
m.jpd5h.pro/Blog/680800.shtm
m.jpd5h.pro/Blog/426084.shtm
m.jpd5h.pro/Blog/802424.shtm
m.jpd5h.pro/Blog/848608.shtm
m.jpd5h.pro/Blog/606624.shtm
m.jpd5h.pro/Blog/066006.shtm
m.jpd5h.pro/Blog/024600.shtm
m.jpd5h.pro/Blog/644424.shtm
m.jpd5h.pro/Blog/660022.shtm
m.jpd5h.pro/Blog/082224.shtm
m.jpd5h.pro/Blog/648808.shtm
m.jpd5h.pro/Blog/040602.shtm
m.jpd5h.pro/Blog/220220.shtm
m.jpd5h.pro/Blog/068242.shtm
m.jpd5h.pro/Blog/466426.shtm
m.jpd5h.pro/Blog/884620.shtm
m.jpd5h.pro/Blog/622226.shtm
m.jpd5h.pro/Blog/002200.shtm
m.jpd5h.pro/Blog/422228.shtm
m.jpd5h.pro/Blog/488420.shtm
m.jpd5h.pro/Blog/422642.shtm
m.jpd5h.pro/Blog/066222.shtm
m.jpd5h.pro/Blog/206666.shtm
m.jpd5h.pro/Blog/684422.shtm
m.jpd5h.pro/Blog/628680.shtm
m.jpd5h.pro/Blog/824688.shtm
m.jpd5h.pro/Blog/208244.shtm
m.jpd5h.pro/Blog/662486.shtm
m.jpd5h.pro/Blog/442004.shtm
m.jpd5h.pro/Blog/842262.shtm
m.jpd5h.pro/Blog/048662.shtm
m.jpd5h.pro/Blog/280048.shtm
m.jpd5h.pro/Blog/204222.shtm
m.jpd5h.pro/Blog/868486.shtm
m.jpd5h.pro/Blog/044400.shtm
m.jpd5h.pro/Blog/242884.shtm
m.jpd5h.pro/Blog/660228.shtm
m.jpd5h.pro/Blog/668200.shtm
m.jpd5h.pro/Blog/044426.shtm
m.jpd5h.pro/Blog/062046.shtm
m.jpd5h.pro/Blog/406202.shtm
m.jpd5h.pro/Blog/082664.shtm
m.jpd5h.pro/Blog/864488.shtm
m.jpd5h.pro/Blog/846226.shtm
m.jpd5h.pro/Blog/680868.shtm
m.jpd5h.pro/Blog/642046.shtm
m.jpd5h.pro/Blog/460262.shtm
m.jpd5h.pro/Blog/133557.shtm
m.jpd5h.pro/Blog/484060.shtm
m.jpd5h.pro/Blog/046680.shtm
m.jpd5h.pro/Blog/044248.shtm
m.jpd5h.pro/Blog/240688.shtm
m.jpd5h.pro/Blog/624206.shtm
m.jpd5h.pro/Blog/204022.shtm
m.jpd5h.pro/Blog/195933.shtm
m.jpd5h.pro/Blog/044604.shtm
m.jpd5h.pro/Blog/200088.shtm
m.jpd5h.pro/Blog/000480.shtm
m.jpd5h.pro/Blog/026888.shtm
m.jpd5h.pro/Blog/448604.shtm
m.jpd5h.pro/Blog/377917.shtm
m.jpd5h.pro/Blog/822802.shtm
m.jpd5h.pro/Blog/739731.shtm
m.jpd5h.pro/Blog/551953.shtm
m.jpd5h.pro/Blog/200286.shtm
m.jpd5h.pro/Blog/868200.shtm
m.jpd5h.pro/Blog/280444.shtm
m.jpd5h.pro/Blog/193315.shtm
m.jpd5h.pro/Blog/800480.shtm
m.jpd5h.pro/Blog/820606.shtm
m.jpd5h.pro/Blog/751793.shtm
m.jpd5h.pro/Blog/842800.shtm
m.jpd5h.pro/Blog/977599.shtm
m.jpd5h.pro/Blog/224680.shtm
m.jpd5h.pro/Blog/777971.shtm
m.jpd5h.pro/Blog/284446.shtm
m.jpd5h.pro/Blog/820460.shtm
m.jpd5h.pro/Blog/088680.shtm
m.jpd5h.pro/Blog/173137.shtm
m.jpd5h.pro/Blog/886280.shtm
m.jpd5h.pro/Blog/046022.shtm
m.jpd5h.pro/Blog/604044.shtm
m.jpd5h.pro/Blog/731353.shtm
m.jpd5h.pro/Blog/402406.shtm
m.jpd5h.pro/Blog/882642.shtm
m.jpd5h.pro/Blog/402040.shtm
m.jpd5h.pro/Blog/084402.shtm
m.jpd5h.pro/Blog/260248.shtm
m.jpd5h.pro/Blog/686008.shtm
m.jpd5h.pro/Blog/642680.shtm
m.jpd5h.pro/Blog/759931.shtm
m.jpd5h.pro/Blog/466882.shtm
m.jpd5h.pro/Blog/060660.shtm
m.jpd5h.pro/Blog/028264.shtm
m.jpd5h.pro/Blog/600664.shtm
m.jpd5h.pro/Blog/822282.shtm
m.jpd5h.pro/Blog/640028.shtm
m.jpd5h.pro/Blog/684288.shtm
m.jpd5h.pro/Blog/280246.shtm
m.jpd5h.pro/Blog/446002.shtm
m.jpd5h.pro/Blog/062222.shtm
m.jpd5h.pro/Blog/800466.shtm
m.jpd5h.pro/Blog/848820.shtm
m.jpd5h.pro/Blog/280662.shtm
m.jpd5h.pro/Blog/040202.shtm
m.jpd5h.pro/Blog/884060.shtm
m.jpd5h.pro/Blog/400864.shtm
m.jpd5h.pro/Blog/622684.shtm
m.jpd5h.pro/Blog/484442.shtm
m.jpd5h.pro/Blog/068228.shtm
m.jpd5h.pro/Blog/442246.shtm
m.jpd5h.pro/Blog/202400.shtm
m.jpd5h.pro/Blog/460208.shtm
m.jpd5h.pro/Blog/828228.shtm
m.jpd5h.pro/Blog/042864.shtm
m.jpd5h.pro/Blog/686622.shtm
m.jpd5h.pro/Blog/806808.shtm
m.jpd5h.pro/Blog/442886.shtm
m.jpd5h.pro/Blog/080028.shtm
m.jpd5h.pro/Blog/468608.shtm
m.jpd5h.pro/Blog/864668.shtm
m.jpd5h.pro/Blog/642080.shtm
m.jpd5h.pro/Blog/773131.shtm
m.jpd5h.pro/Blog/400828.shtm
m.jpd5h.pro/Blog/242888.shtm
m.jpd5h.pro/Blog/464468.shtm
m.jpd5h.pro/Blog/002262.shtm
m.jpd5h.pro/Blog/048266.shtm
m.jpd5h.pro/Blog/402804.shtm
m.jpd5h.pro/Blog/600262.shtm
m.jpd5h.pro/Blog/242480.shtm
m.jpd5h.pro/Blog/244686.shtm
m.jpd5h.pro/Blog/406220.shtm
m.jpd5h.pro/Blog/808206.shtm
m.jpd5h.pro/Blog/660846.shtm
m.jpd5h.pro/Blog/880226.shtm
m.jpd5h.pro/Blog/840446.shtm
m.jpd5h.pro/Blog/931755.shtm
m.jpd5h.pro/Blog/226064.shtm
m.jpd5h.pro/Blog/373737.shtm
m.jpd5h.pro/Blog/402040.shtm
m.jpd5h.pro/Blog/771553.shtm
m.jpd5h.pro/Blog/420022.shtm
m.jpd5h.pro/Blog/464448.shtm
m.jpd5h.pro/Blog/864848.shtm
m.jpd5h.pro/Blog/539179.shtm
m.jpd5h.pro/Blog/048488.shtm
m.jpd5h.pro/Blog/282400.shtm
m.jpd5h.pro/Blog/088420.shtm
m.jpd5h.pro/Blog/062066.shtm
m.jpd5h.pro/Blog/353379.shtm
m.jpd5h.pro/Blog/068806.shtm
m.jpd5h.pro/Blog/846006.shtm
m.jpd5h.pro/Blog/466282.shtm
m.jpd5h.pro/Blog/668284.shtm
m.jpd5h.pro/Blog/280240.shtm
m.jpd5h.pro/Blog/442008.shtm
m.jpd5h.pro/Blog/024686.shtm
m.jpd5h.pro/Blog/060882.shtm
m.jpd5h.pro/Blog/066622.shtm
m.jpd5h.pro/Blog/042460.shtm
m.jpd5h.pro/Blog/464640.shtm
m.jpd5h.pro/Blog/084024.shtm
m.jpd5h.pro/Blog/428480.shtm
m.jpd5h.pro/Blog/084846.shtm
m.jpd5h.pro/Blog/642028.shtm
m.jpd5h.pro/Blog/844822.shtm
m.jpd5h.pro/Blog/842028.shtm
m.jpd5h.pro/Blog/604042.shtm
m.jpd5h.pro/Blog/246844.shtm
m.jpd5h.pro/Blog/464646.shtm
m.jpd5h.pro/Blog/480402.shtm
m.jpd5h.pro/Blog/400884.shtm
m.jpd5h.pro/Blog/426208.shtm
m.jpd5h.pro/Blog/206806.shtm
m.jpd5h.pro/Blog/606820.shtm
m.jpd5h.pro/Blog/460220.shtm
m.jpd5h.pro/Blog/048404.shtm
m.jpd5h.pro/Blog/202886.shtm
m.jpd5h.pro/Blog/662426.shtm
m.jpd5h.pro/Blog/204840.shtm
m.jpd5h.pro/Blog/626246.shtm
m.jpd5h.pro/Blog/486888.shtm
m.jpd5h.pro/Blog/002086.shtm
m.jpd5h.pro/Blog/573513.shtm
m.jpd5h.pro/Blog/131551.shtm
m.jpd5h.pro/Blog/044644.shtm
m.jpd5h.pro/Blog/080260.shtm
m.jpd5h.pro/Blog/682444.shtm
m.jpd5h.pro/Blog/846826.shtm
m.jpd5h.pro/Blog/020886.shtm
m.jpd5h.pro/Blog/197937.shtm
m.jpd5h.pro/Blog/755993.shtm
m.jpd5h.pro/Blog/995319.shtm
m.jpd5h.pro/Blog/311919.shtm
m.jpd5h.pro/Blog/608402.shtm
m.jpd5h.pro/Blog/846684.shtm
m.jpd5h.pro/Blog/551951.shtm
m.jpd5h.pro/Blog/424266.shtm
m.jpd5h.pro/Blog/440060.shtm
m.jpd5h.pro/Blog/599179.shtm
m.jpd5h.pro/Blog/420864.shtm
m.jpd5h.pro/Blog/644224.shtm
m.jpd5h.pro/Blog/062680.shtm
m.jpd5h.pro/Blog/933111.shtm
m.jpd5h.pro/Blog/242046.shtm
m.jpd5h.pro/Blog/911533.shtm
m.jpd5h.pro/Blog/288684.shtm
m.jpd5h.pro/Blog/602622.shtm
m.jpd5h.pro/Blog/642208.shtm
m.jpd5h.pro/Blog/395779.shtm
m.jpd5h.pro/Blog/771559.shtm
m.jpd5h.pro/Blog/264888.shtm
m.jpd5h.pro/Blog/355991.shtm
m.jpd5h.pro/Blog/937731.shtm
m.jpd5h.pro/Blog/688448.shtm
m.jpd5h.pro/Blog/666284.shtm
m.jpd5h.pro/Blog/602206.shtm
m.jpd5h.pro/Blog/777159.shtm
m.jpd5h.pro/Blog/664088.shtm
m.jpd5h.pro/Blog/604662.shtm
m.jpd5h.pro/Blog/880420.shtm
m.jpd5h.pro/Blog/153519.shtm
m.jpd5h.pro/Blog/319195.shtm
m.jpd5h.pro/Blog/426608.shtm
m.jpd5h.pro/Blog/175379.shtm
m.jpd5h.pro/Blog/682080.shtm
m.jpd5h.pro/Blog/280440.shtm
m.jpd5h.pro/Blog/684826.shtm
m.jpd5h.pro/Blog/040246.shtm
m.jpd5h.pro/Blog/848820.shtm
m.jpd5h.pro/Blog/046664.shtm
m.jpd5h.pro/Blog/660062.shtm
m.jpd5h.pro/Blog/088806.shtm
m.jpd5h.pro/Blog/280806.shtm
m.jpd5h.pro/Blog/448224.shtm
m.jpd5h.pro/Blog/628686.shtm
m.jpd5h.pro/Blog/226226.shtm
m.jpd5h.pro/Blog/024802.shtm
m.jpd5h.pro/Blog/422046.shtm
m.jpd5h.pro/Blog/246842.shtm
m.jpd5h.pro/Blog/866026.shtm
m.jpd5h.pro/Blog/400284.shtm
m.jpd5h.pro/Blog/208488.shtm
m.jpd5h.pro/Blog/868602.shtm
m.jpd5h.pro/Blog/244082.shtm
m.jpd5h.pro/Blog/260802.shtm
m.jpd5h.pro/Blog/424666.shtm
m.jpd5h.pro/Blog/862800.shtm
m.jpd5h.pro/Blog/200868.shtm
m.jpd5h.pro/Blog/806260.shtm
m.jpd5h.pro/Blog/028084.shtm
m.jpd5h.pro/Blog/868400.shtm
m.jpd5h.pro/Blog/862862.shtm
m.jpd5h.pro/Blog/042268.shtm
m.jpd5h.pro/Blog/662864.shtm
m.jpd5h.pro/Blog/622626.shtm
m.jpd5h.pro/Blog/282862.shtm
m.jpd5h.pro/Blog/244286.shtm
m.jpd5h.pro/Blog/682004.shtm
m.jpd5h.pro/Blog/464848.shtm
m.jpd5h.pro/Blog/202000.shtm
m.jpd5h.pro/Blog/242826.shtm
m.jpd5h.pro/Blog/595999.shtm
m.jpd5h.pro/Blog/886428.shtm
m.jpd5h.pro/Blog/264600.shtm
m.jpd5h.pro/Blog/066082.shtm
m.jpd5h.pro/Blog/204480.shtm
m.jpd5h.pro/Blog/800208.shtm
m.jpd5h.pro/Blog/868848.shtm
m.jpd5h.pro/Blog/026002.shtm
m.jpd5h.pro/Blog/242280.shtm
m.jpd5h.pro/Blog/042000.shtm
m.jpd5h.pro/Blog/060448.shtm
m.jpd5h.pro/Blog/028206.shtm
m.jpd5h.pro/Blog/882468.shtm
m.jpd5h.pro/Blog/282486.shtm
m.jpd5h.pro/Blog/846220.shtm
m.jpd5h.pro/Blog/244066.shtm
m.jpd5h.pro/Blog/060442.shtm
m.jpd5h.pro/Blog/846208.shtm
m.jpd5h.pro/Blog/800486.shtm
m.jpd5h.pro/Blog/244224.shtm
m.jpd5h.pro/Blog/864486.shtm
m.jpd5h.pro/Blog/024448.shtm
m.jpd5h.pro/Blog/842648.shtm
m.jpd5h.pro/Blog/884482.shtm
m.jpd5h.pro/Blog/668402.shtm
m.jpd5h.pro/Blog/266228.shtm
m.jpd5h.pro/Blog/404648.shtm
m.jpd5h.pro/Blog/422648.shtm
m.jpd5h.pro/Blog/860240.shtm
m.jpd5h.pro/Blog/662682.shtm
m.jpd5h.pro/Blog/400868.shtm
m.jpd5h.pro/Blog/080046.shtm
m.jpd5h.pro/Blog/242206.shtm
m.jpd5h.pro/Blog/282022.shtm
m.jpd5h.pro/Blog/593577.shtm
m.jpd5h.pro/Blog/808606.shtm
m.jpd5h.pro/Blog/082260.shtm
m.jpd5h.pro/Blog/664668.shtm
m.jpd5h.pro/Blog/842466.shtm
m.jpd5h.pro/Blog/006028.shtm
m.jpd5h.pro/Blog/088820.shtm
m.jpd5h.pro/Blog/006682.shtm
m.jpd5h.pro/Blog/828884.shtm
m.jpd5h.pro/Blog/000640.shtm
m.jpd5h.pro/Blog/599371.shtm
m.jpd5h.pro/Blog/840026.shtm
m.jpd5h.pro/Blog/026000.shtm
m.jpd5h.pro/Blog/000868.shtm
m.jpd5h.pro/Blog/000060.shtm
m.jpd5h.pro/Blog/868660.shtm
m.jpd5h.pro/Blog/280608.shtm
m.jpd5h.pro/Blog/420622.shtm
m.jpd5h.pro/Blog/226648.shtm
m.jpd5h.pro/Blog/686600.shtm
m.jpd5h.pro/Blog/268602.shtm
m.jpd5h.pro/Blog/888884.shtm
m.jpd5h.pro/Blog/642020.shtm
m.jpd5h.pro/Blog/979199.shtm
m.jpd5h.pro/Blog/600246.shtm
m.jpd5h.pro/Blog/824244.shtm
m.jpd5h.pro/Blog/208466.shtm
m.jpd5h.pro/Blog/282664.shtm
m.jpd5h.pro/Blog/886284.shtm
m.jpd5h.pro/Blog/240220.shtm
m.jpd5h.pro/Blog/608804.shtm
m.jpd5h.pro/Blog/682848.shtm
m.jpd5h.pro/Blog/008688.shtm
m.jpd5h.pro/Blog/604828.shtm
m.jpd5h.pro/Blog/042486.shtm
m.jpd5h.pro/Blog/824008.shtm
m.jpd5h.pro/Blog/680284.shtm
m.jpd5h.pro/Blog/062800.shtm
m.jpd5h.pro/Blog/008462.shtm
m.jpd5h.pro/Blog/624688.shtm
m.jpd5h.pro/Blog/868884.shtm
m.jpd5h.pro/Blog/602262.shtm
m.jpd5h.pro/Blog/840626.shtm
m.jpd5h.pro/Blog/462860.shtm
m.jpd5h.pro/Blog/464804.shtm
m.jpd5h.pro/Blog/806860.shtm
m.jpd5h.pro/Blog/480486.shtm
m.jpd5h.pro/Blog/808024.shtm
m.jpd5h.pro/Blog/280066.shtm
m.jpd5h.pro/Blog/862642.shtm
m.jpd5h.pro/Blog/086602.shtm
m.jpd5h.pro/Blog/820424.shtm
m.jpd5h.pro/Blog/846884.shtm
m.jpd5h.pro/Blog/622008.shtm
m.jpd5h.pro/Blog/624202.shtm
m.jpd5h.pro/Blog/606666.shtm
m.jpd5h.pro/Blog/648202.shtm
m.jpd5h.pro/Blog/266686.shtm
m.jpd5h.pro/Blog/664624.shtm
m.jpd5h.pro/Blog/880444.shtm
m.jpd5h.pro/Blog/204486.shtm
m.jpd5h.pro/Blog/406688.shtm
m.jpd5h.pro/Blog/000848.shtm
m.jpd5h.pro/Blog/240686.shtm
m.jpd5h.pro/Blog/377359.shtm
m.jpd5h.pro/Blog/771953.shtm
m.jpd5h.pro/Blog/844248.shtm
m.jpd5h.pro/Blog/008048.shtm
m.jpd5h.pro/Blog/191395.shtm
m.jpd5h.pro/Blog/735319.shtm
m.jpd5h.pro/Blog/248602.shtm
m.jpd5h.pro/Blog/539397.shtm
m.jpd5h.pro/Blog/113113.shtm
m.jpd5h.pro/Blog/488600.shtm
m.jpd5h.pro/Blog/628828.shtm
m.jpd5h.pro/Blog/626824.shtm
m.jpd5h.pro/Blog/591195.shtm
m.jpd5h.pro/Blog/155559.shtm
m.jpd5h.pro/Blog/828802.shtm
m.jpd5h.pro/Blog/537739.shtm
m.jpd5h.pro/Blog/533139.shtm
m.jpd5h.pro/Blog/795117.shtm
m.jpd5h.pro/Blog/773139.shtm
m.jpd5h.pro/Blog/971379.shtm
m.jpd5h.pro/Blog/004628.shtm
m.jpd5h.pro/Blog/202866.shtm
m.jpd5h.pro/Blog/608642.shtm
m.jpd5h.pro/Blog/806840.shtm
m.jpd5h.pro/Blog/311179.shtm
m.jpd5h.pro/Blog/646286.shtm
m.jpd5h.pro/Blog/824882.shtm
m.jpd5h.pro/Blog/422246.shtm
m.jpd5h.pro/Blog/226428.shtm
m.jpd5h.pro/Blog/684242.shtm
m.jpd5h.pro/Blog/220228.shtm
m.jpd5h.pro/Blog/573335.shtm
m.jpd5h.pro/Blog/371551.shtm
m.jpd5h.pro/Blog/951331.shtm
m.jpd5h.pro/Blog/577977.shtm
m.jpd5h.pro/Blog/840468.shtm
m.jpd5h.pro/Blog/466246.shtm
m.jpd5h.pro/Blog/860666.shtm
m.jpd5h.pro/Blog/913537.shtm
m.jpd5h.pro/Blog/711957.shtm
m.jpd5h.pro/Blog/119593.shtm
m.jpd5h.pro/Blog/975951.shtm
m.jpd5h.pro/Blog/939351.shtm
m.jpd5h.pro/Blog/260640.shtm
m.jpd5h.pro/Blog/608088.shtm
m.jpd5h.pro/Blog/537155.shtm
m.jpd5h.pro/Blog/979733.shtm
m.jpd5h.pro/Blog/662624.shtm
m.jpd5h.pro/Blog/242862.shtm
m.jpd5h.pro/Blog/119737.shtm
m.jpd5h.pro/Blog/553195.shtm
m.jpd5h.pro/Blog/933731.shtm
m.jpd5h.pro/Blog/686048.shtm
m.jpd5h.pro/Blog/117355.shtm
m.jpd5h.pro/Blog/173773.shtm
m.jpd5h.pro/Blog/640828.shtm
m.jpd5h.pro/Blog/408624.shtm
m.jpd5h.pro/Blog/993911.shtm
m.jpd5h.pro/Blog/228664.shtm
m.jpd5h.pro/Blog/842666.shtm
m.jpd5h.pro/Blog/204668.shtm
m.jpd5h.pro/Blog/399177.shtm
m.jpd5h.pro/Blog/646648.shtm
m.jpd5h.pro/Blog/393773.shtm
m.jpd5h.pro/Blog/248044.shtm
m.jpd5h.pro/Blog/119799.shtm
m.jpd5h.pro/Blog/959911.shtm
m.jpd5h.pro/Blog/646428.shtm
m.jpd5h.pro/Blog/111157.shtm
m.jpd5h.pro/Blog/686820.shtm
m.jpd5h.pro/Blog/711931.shtm
m.jpd5h.pro/Blog/248060.shtm
m.jpd5h.pro/Blog/468008.shtm
m.jpd5h.pro/Blog/662204.shtm
m.jpd5h.pro/Blog/420806.shtm
m.jpd5h.pro/Blog/086680.shtm
m.jpd5h.pro/Blog/440002.shtm
m.jpd5h.pro/Blog/220646.shtm
m.jpd5h.pro/Blog/020200.shtm
m.jpd5h.pro/Blog/331531.shtm
m.jpd5h.pro/Blog/288848.shtm
m.jpd5h.pro/Blog/335973.shtm
m.jpd5h.pro/Blog/335739.shtm
m.jpd5h.pro/Blog/022848.shtm
m.jpd5h.pro/Blog/246648.shtm
m.jpd5h.pro/Blog/119599.shtm
m.jpd5h.pro/Blog/111179.shtm
m.jpd5h.pro/Blog/757933.shtm
m.jpd5h.pro/Blog/735713.shtm
m.jpd5h.pro/Blog/177357.shtm
m.jpd5h.pro/Blog/640686.shtm
m.jpd5h.pro/Blog/313755.shtm
m.jpd5h.pro/Blog/624482.shtm
m.jpd5h.pro/Blog/806826.shtm
m.jpd5h.pro/Blog/004826.shtm
m.jpd5h.pro/Blog/513357.shtm
m.jpd5h.pro/Blog/793973.shtm
m.jpd5h.pro/Blog/002448.shtm
m.jpd5h.pro/Blog/797551.shtm
m.jpd5h.pro/Blog/426280.shtm
m.jpd5h.pro/Blog/153955.shtm
m.jpd5h.pro/Blog/266466.shtm
m.jpd5h.pro/Blog/204426.shtm
m.jpd5h.pro/Blog/999775.shtm
m.jpd5h.pro/Blog/371339.shtm
m.jpd5h.pro/Blog/222882.shtm
m.jpd5h.pro/Blog/644206.shtm
m.jpd5h.pro/Blog/800048.shtm
m.jpd5h.pro/Blog/997517.shtm
m.jpd5h.pro/Blog/155117.shtm
m.jpd5h.pro/Blog/551359.shtm
m.jpd5h.pro/Blog/911933.shtm
m.jpd5h.pro/Blog/711515.shtm
m.jpd5h.pro/Blog/193313.shtm
m.jpd5h.pro/Blog/737395.shtm
m.jpd5h.pro/Blog/951359.shtm
m.jpd5h.pro/Blog/424628.shtm
m.jpd5h.pro/Blog/640222.shtm
m.jpd5h.pro/Blog/602406.shtm
m.jpd5h.pro/Blog/246006.shtm
m.jpd5h.pro/Blog/282686.shtm
m.jpd5h.pro/Blog/995577.shtm
m.jpd5h.pro/Blog/680068.shtm
m.jpd5h.pro/Blog/880686.shtm
m.jpd5h.pro/Blog/939155.shtm
m.jpd5h.pro/Blog/646820.shtm
m.jpd5h.pro/Blog/395335.shtm
m.jpd5h.pro/Blog/260886.shtm
m.jpd5h.pro/Blog/400440.shtm
m.jpd5h.pro/Blog/113779.shtm
m.jpd5h.pro/Blog/359511.shtm
m.jpd5h.pro/Blog/155975.shtm
m.jpd5h.pro/Blog/286808.shtm
m.jpd5h.pro/Blog/337333.shtm
m.jpd5h.pro/Blog/828844.shtm
m.jpd5h.pro/Blog/084226.shtm
m.jpd5h.pro/Blog/577179.shtm
m.jpd5h.pro/Blog/822040.shtm
m.jpd5h.pro/Blog/224460.shtm
m.jpd5h.pro/Blog/539931.shtm
m.jpd5h.pro/Blog/604060.shtm
m.jpd5h.pro/Blog/795391.shtm
m.jpd5h.pro/Blog/977591.shtm
m.jpd5h.pro/Blog/006406.shtm
m.jpd5h.pro/Blog/462228.shtm
m.jpd5h.pro/Blog/840442.shtm
m.jpd5h.pro/Blog/591771.shtm
m.jpd5h.pro/Blog/517575.shtm
m.jpd5h.pro/Blog/931111.shtm
m.jpd5h.pro/Blog/953111.shtm
m.jpd5h.pro/Blog/931159.shtm
m.jpd5h.pro/Blog/555931.shtm
m.jpd5h.pro/Blog/133793.shtm
m.jpd5h.pro/Blog/840820.shtm
m.jpd5h.pro/Blog/008086.shtm
m.jpd5h.pro/Blog/880642.shtm
m.jpd5h.pro/Blog/066286.shtm
m.jpd5h.pro/Blog/739917.shtm
m.jpd5h.pro/Blog/773759.shtm
m.jpd5h.pro/Blog/557911.shtm
m.jpd5h.pro/Blog/620484.shtm
m.jpd5h.pro/Blog/666260.shtm
m.jpd5h.pro/Blog/444606.shtm
m.jpd5h.pro/Blog/808260.shtm
m.jpd5h.pro/Blog/911559.shtm
m.jpd5h.pro/Blog/717333.shtm
m.jpd5h.pro/Blog/260460.shtm
m.jpd5h.pro/Blog/402006.shtm
m.jpd5h.pro/Blog/884824.shtm
m.jpd5h.pro/Blog/880226.shtm
m.jpd5h.pro/Blog/440668.shtm
m.jpd5h.pro/Blog/197795.shtm
m.jpd5h.pro/Blog/959537.shtm
m.jpd5h.pro/Blog/135317.shtm
m.jpd5h.pro/Blog/199519.shtm
m.jpd5h.pro/Blog/571957.shtm
m.jpd5h.pro/Blog/202628.shtm
m.jpd5h.pro/Blog/735755.shtm
m.jpd5h.pro/Blog/668682.shtm
m.jpd5h.pro/Blog/626066.shtm
m.jpd5h.pro/Blog/620408.shtm
m.jpd5h.pro/Blog/173713.shtm
m.jpd5h.pro/Blog/955739.shtm
m.jpd5h.pro/Blog/933597.shtm
m.jpd5h.pro/Blog/826240.shtm
m.jpd5h.pro/Blog/397311.shtm
m.jpd5h.pro/Blog/620222.shtm
m.jpd5h.pro/Blog/135555.shtm
m.jpd5h.pro/Blog/280066.shtm
m.jpd5h.pro/Blog/733195.shtm
m.jpd5h.pro/Blog/113311.shtm
m.jpd5h.pro/Blog/939315.shtm
m.jpd5h.pro/Blog/399591.shtm
m.jpd5h.pro/Blog/391355.shtm
m.jpd5h.pro/Blog/177979.shtm
m.jpd5h.pro/Blog/044420.shtm
m.jpd5h.pro/Blog/200088.shtm
m.jpd5h.pro/Blog/862060.shtm
m.jpd5h.pro/Blog/866208.shtm
m.jpd5h.pro/Blog/911173.shtm
m.jpd5h.pro/Blog/731337.shtm
m.jpd5h.pro/Blog/311795.shtm
m.jpd5h.pro/Blog/531973.shtm
m.jpd5h.pro/Blog/400246.shtm
m.jpd5h.pro/Blog/155919.shtm
m.jpd5h.pro/Blog/911911.shtm
m.jpd5h.pro/Blog/717971.shtm
m.jpd5h.pro/Blog/604628.shtm
m.jpd5h.pro/Blog/808226.shtm
m.jpd5h.pro/Blog/977133.shtm
m.jpd5h.pro/Blog/331119.shtm
m.jpd5h.pro/Blog/199575.shtm
m.jpd5h.pro/Blog/842682.shtm
m.jpd5h.pro/Blog/779153.shtm
m.jpd5h.pro/Blog/577731.shtm
m.jpd5h.pro/Blog/191751.shtm
m.jpd5h.pro/Blog/311553.shtm
m.jpd5h.pro/Blog/468264.shtm
m.jpd5h.pro/Blog/486482.shtm
m.jpd5h.pro/Blog/864648.shtm
m.jpd5h.pro/Blog/515177.shtm
m.jpd5h.pro/Blog/157131.shtm
m.jpd5h.pro/Blog/539977.shtm
m.jpd5h.pro/Blog/064280.shtm
m.jpd5h.pro/Blog/573933.shtm
m.jpd5h.pro/Blog/028488.shtm
m.jpd5h.pro/Blog/371735.shtm
m.jpd5h.pro/Blog/444000.shtm
m.jpd5h.pro/Blog/931759.shtm
m.jpd5h.pro/Blog/779391.shtm
m.jpd5h.pro/Blog/113159.shtm
m.jpd5h.pro/Blog/462200.shtm
m.jpd5h.pro/Blog/268460.shtm
m.jpd5h.pro/Blog/248246.shtm
m.jpd5h.pro/Blog/860882.shtm
m.jpd5h.pro/Blog/866464.shtm
m.jpd5h.pro/Blog/006688.shtm
m.jpd5h.pro/Blog/428426.shtm
m.jpd5h.pro/Blog/717953.shtm
m.jpd5h.pro/Blog/682846.shtm
m.jpd5h.pro/Blog/531119.shtm
m.jpd5h.pro/Blog/284266.shtm
m.jpd5h.pro/Blog/797971.shtm
m.jpd5h.pro/Blog/806288.shtm
m.jpd5h.pro/Blog/086222.shtm
m.jpd5h.pro/Blog/668442.shtm
m.jpd5h.pro/Blog/244820.shtm
m.jpd5h.pro/Blog/139917.shtm
m.jpd5h.pro/Blog/820822.shtm
m.jpd5h.pro/Blog/602662.shtm
m.jpd5h.pro/Blog/866042.shtm
m.jpd5h.pro/Blog/335957.shtm
m.jpd5h.pro/Blog/355393.shtm
m.jpd5h.pro/Blog/571135.shtm
m.jpd5h.pro/Blog/424242.shtm
m.jpd5h.pro/Blog/886828.shtm
m.jpd5h.pro/Blog/420420.shtm
m.jpd5h.pro/Blog/133553.shtm
m.jpd5h.pro/Blog/404286.shtm
m.jpd5h.pro/Blog/848488.shtm
m.jpd5h.pro/Blog/646804.shtm
m.jpd5h.pro/Blog/040862.shtm
m.jpd5h.pro/Blog/224400.shtm
m.jpd5h.pro/Blog/557131.shtm
m.jpd5h.pro/Blog/779171.shtm
m.jpd5h.pro/Blog/268222.shtm
m.jpd5h.pro/Blog/531993.shtm
m.jpd5h.pro/Blog/377393.shtm
m.jpd5h.pro/Blog/282666.shtm
m.jpd5h.pro/Blog/280420.shtm
m.jpd5h.pro/Blog/733913.shtm
m.jpd5h.pro/Blog/711539.shtm
m.jpd5h.pro/Blog/991773.shtm
m.jpd5h.pro/Blog/353575.shtm
m.jpd5h.pro/Blog/173179.shtm
m.jpd5h.pro/Blog/828024.shtm
m.jpd5h.pro/Blog/268468.shtm
m.jpd5h.pro/Blog/735953.shtm
m.jpd5h.pro/Blog/917595.shtm
m.jpd5h.pro/Blog/553717.shtm
m.jpd5h.pro/Blog/913393.shtm
m.jpd5h.pro/Blog/131997.shtm
m.jpd5h.pro/Blog/735371.shtm
m.jpd5h.pro/Blog/195711.shtm
m.jpd5h.pro/Blog/222208.shtm
m.jpd5h.pro/Blog/082486.shtm
m.jpd5h.pro/Blog/157515.shtm
m.jpd5h.pro/Blog/119391.shtm
m.jpd5h.pro/Blog/579991.shtm
m.jpd5h.pro/Blog/282240.shtm
m.jpd5h.pro/Blog/911353.shtm
m.jpd5h.pro/Blog/317393.shtm
m.jpd5h.pro/Blog/557171.shtm
m.jpd5h.pro/Blog/000068.shtm
m.jpd5h.pro/Blog/642202.shtm
m.jpd5h.pro/Blog/771193.shtm
m.jpd5h.pro/Blog/024064.shtm
m.jpd5h.pro/Blog/044800.shtm
m.jpd5h.pro/Blog/084806.shtm
m.jpd5h.pro/Blog/157913.shtm
m.jpd5h.pro/Blog/046842.shtm
m.jpd5h.pro/Blog/000208.shtm
m.jpd5h.pro/Blog/426200.shtm
m.jpd5h.pro/Blog/644282.shtm
m.jpd5h.pro/Blog/339591.shtm
m.jpd5h.pro/Blog/173159.shtm
m.jpd5h.pro/Blog/333719.shtm
m.jpd5h.pro/Blog/482886.shtm
m.jpd5h.pro/Blog/246440.shtm
m.jpd5h.pro/Blog/137995.shtm
m.jpd5h.pro/Blog/315315.shtm
m.jpd5h.pro/Blog/280080.shtm
m.jpd5h.pro/Blog/375739.shtm
m.jpd5h.pro/Blog/602240.shtm
m.jpd5h.pro/Blog/373313.shtm
m.jpd5h.pro/Blog/824806.shtm
m.jpd5h.pro/Blog/848064.shtm
m.jpd5h.pro/Blog/664802.shtm
m.jpd5h.pro/Blog/440046.shtm
m.jpd5h.pro/Blog/620806.shtm
m.jpd5h.pro/Blog/006206.shtm
m.jpd5h.pro/Blog/244460.shtm
m.jpd5h.pro/Blog/442888.shtm
m.jpd5h.pro/Blog/171759.shtm
m.jpd5h.pro/Blog/080868.shtm
m.jpd5h.pro/Blog/757173.shtm
m.jpd5h.pro/Blog/391919.shtm
m.jpd5h.pro/Blog/399539.shtm
m.jpd5h.pro/Blog/482464.shtm
m.jpd5h.pro/Blog/226022.shtm
m.jpd5h.pro/Blog/933333.shtm
m.jpd5h.pro/Blog/888226.shtm
m.jpd5h.pro/Blog/462604.shtm
m.jpd5h.pro/Blog/428884.shtm
m.jpd5h.pro/Blog/175555.shtm
m.jpd5h.pro/Blog/604228.shtm
m.jpd5h.pro/Blog/260400.shtm
m.jpd5h.pro/Blog/202828.shtm
m.jpd5h.pro/Blog/664846.shtm
m.jpd5h.pro/Blog/648086.shtm
m.jpd5h.pro/Blog/886622.shtm
m.jpd5h.pro/Blog/957751.shtm
m.jpd5h.pro/Blog/020422.shtm
m.jpd5h.pro/Blog/248624.shtm
m.jpd5h.pro/Blog/771337.shtm
m.jpd5h.pro/Blog/666886.shtm
m.jpd5h.pro/Blog/177773.shtm
m.jpd5h.pro/Blog/288646.shtm
m.jpd5h.pro/Blog/973111.shtm
m.jpd5h.pro/Blog/806844.shtm
m.jpd5h.pro/Blog/311759.shtm
m.jpd5h.pro/Blog/622844.shtm
m.jpd5h.pro/Blog/200846.shtm
m.jpd5h.pro/Blog/559791.shtm
m.jpd5h.pro/Blog/597757.shtm
m.jpd5h.pro/Blog/066420.shtm
m.jpd5h.pro/Blog/206048.shtm
m.jpd5h.pro/Blog/424288.shtm
m.jpd5h.pro/Blog/866004.shtm
m.jpd5h.pro/Blog/351571.shtm
m.jpd5h.pro/Blog/793317.shtm
m.jpd5h.pro/Blog/448688.shtm
m.jpd5h.pro/Blog/422284.shtm
m.jpd5h.pro/Blog/355795.shtm
m.jpd5h.pro/Blog/406884.shtm
m.jpd5h.pro/Blog/622460.shtm
m.jpd5h.pro/Blog/719193.shtm
m.jpd5h.pro/Blog/191171.shtm
m.jpd5h.pro/Blog/826246.shtm
m.jpd5h.pro/Blog/999911.shtm
m.jpd5h.pro/Blog/731573.shtm
m.jpd5h.pro/Blog/531753.shtm
m.jpd5h.pro/Blog/628862.shtm
m.jpd5h.pro/Blog/862264.shtm
m.jpd5h.pro/Blog/844680.shtm
m.jpd5h.pro/Blog/080662.shtm
m.jpd5h.pro/Blog/882442.shtm
m.jpd5h.pro/Blog/193933.shtm
m.jpd5h.pro/Blog/737357.shtm
m.jpd5h.pro/Blog/260686.shtm
m.jpd5h.pro/Blog/264882.shtm
m.jpd5h.pro/Blog/064408.shtm
m.jpd5h.pro/Blog/991339.shtm
m.jpd5h.pro/Blog/684088.shtm
m.jpd5h.pro/Blog/602802.shtm
m.jpd5h.pro/Blog/426824.shtm
m.jpd5h.pro/Blog/668042.shtm
m.jpd5h.pro/Blog/426420.shtm
m.jpd5h.pro/Blog/915571.shtm
m.jpd5h.pro/Blog/333113.shtm
m.jpd5h.pro/Blog/424860.shtm
m.jpd5h.pro/Blog/642288.shtm
m.jpd5h.pro/Blog/577159.shtm
m.jpd5h.pro/Blog/179179.shtm
m.jpd5h.pro/Blog/731733.shtm
m.jpd5h.pro/Blog/193339.shtm
m.jpd5h.pro/Blog/440662.shtm
m.jpd5h.pro/Blog/664602.shtm
m.jpd5h.pro/Blog/935935.shtm
m.jpd5h.pro/Blog/266468.shtm
m.jpd5h.pro/Blog/462664.shtm
m.jpd5h.pro/Blog/624668.shtm
m.jpd5h.pro/Blog/004204.shtm
m.jpd5h.pro/Blog/191371.shtm
m.jpd5h.pro/Blog/771197.shtm
m.jpd5h.pro/Blog/117999.shtm
m.jpd5h.pro/Blog/779515.shtm
m.jpd5h.pro/Blog/979171.shtm
m.jpd5h.pro/Blog/004424.shtm
m.jpd5h.pro/Blog/882426.shtm
m.jpd5h.pro/Blog/862646.shtm
m.jpd5h.pro/Blog/666202.shtm
m.jpd5h.pro/Blog/624420.shtm
m.jpd5h.pro/Blog/595957.shtm
m.jpd5h.pro/Blog/208640.shtm
m.jpd5h.pro/Blog/519511.shtm
m.jpd5h.pro/Blog/355531.shtm
m.jpd5h.pro/Blog/862268.shtm
m.jpd5h.pro/Blog/680084.shtm
m.jpd5h.pro/Blog/204424.shtm
m.jpd5h.pro/Blog/668246.shtm
m.jpd5h.pro/Blog/280460.shtm
m.jpd5h.pro/Blog/486864.shtm
m.jpd5h.pro/Blog/484862.shtm
m.jpd5h.pro/Blog/068842.shtm
m.jpd5h.pro/Blog/408044.shtm
m.jpd5h.pro/Blog/220802.shtm
m.jpd5h.pro/Blog/684686.shtm
m.jpd5h.pro/Blog/262008.shtm
m.jpd5h.pro/Blog/064082.shtm
m.jpd5h.pro/Blog/860806.shtm
m.jpd5h.pro/Blog/884686.shtm
m.jpd5h.pro/Blog/244026.shtm
m.jpd5h.pro/Blog/088648.shtm
m.jpd5h.pro/Blog/282206.shtm
m.jpd5h.pro/Blog/442064.shtm
m.jpd5h.pro/Blog/866426.shtm
m.jpd5h.pro/Blog/646440.shtm
m.jpd5h.pro/Blog/482840.shtm
m.jpd5h.pro/Blog/482266.shtm
m.jpd5h.pro/Blog/426886.shtm
m.jpd5h.pro/Blog/448208.shtm
m.jpd5h.pro/Blog/004242.shtm
m.jpd5h.pro/Blog/046226.shtm
m.jpd5h.pro/Blog/082884.shtm
m.jpd5h.pro/Blog/442600.shtm
m.jpd5h.pro/Blog/804606.shtm
m.jpd5h.pro/Blog/260002.shtm
m.jpd5h.pro/Blog/424862.shtm
m.jpd5h.pro/Blog/066604.shtm
m.jpd5h.pro/Blog/862420.shtm
m.jpd5h.pro/Blog/999915.shtm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1207714.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无需代码!CAM++语音识别系统在线体验指南

无需代码&#xff01;CAM语音识别系统在线体验指南 1. 这不是语音转文字&#xff0c;而是“听声辨人”的黑科技 你有没有遇到过这样的场景&#xff1a;一段录音里有两个人说话&#xff0c;你想确认其中某段话是不是张三说的&#xff1f;或者公司需要验证远程会议中发言者的真…

Qwen3-Embedding-4B部署痛点:网络超时问题解决教程

Qwen3-Embedding-4B部署痛点&#xff1a;网络超时问题解决教程 你是不是也遇到过这样的情况&#xff1a;模型明明跑起来了&#xff0c;API服务也启动了&#xff0c;但一调用client.embeddings.create()就卡住、报错、等半天没响应&#xff0c;最后弹出ReadTimeoutError或Conne…

为什么推荐gpt-oss-20b-WEBUI?因为它真的够简单

为什么推荐gpt-oss-20b-WEBUI&#xff1f;因为它真的够简单 1. 开门见山&#xff1a;你不需要懂技术&#xff0c;也能跑起20B大模型 你是不是也经历过这样的时刻——看到一个很酷的开源大模型&#xff0c;点开文档第一行就写着“需编译vLLM”“配置CUDA环境变量”“手动修改c…

Llama3-8B保险理赔辅助:报案描述标准化

Llama3-8B保险理赔辅助&#xff1a;报案描述标准化 在保险行业&#xff0c;理赔效率直接影响客户满意度和公司运营成本。一线查勘员、客服人员每天要处理大量口头报案&#xff0c;这些原始描述往往存在信息缺失、表述模糊、术语不统一等问题——比如“车撞了树”没说车型&…

麦橘超然Flux部署踩坑记录:常见错误与解决方案汇总

麦橘超然Flux部署踩坑记录&#xff1a;常见错误与解决方案汇总 1. 这不是又一个“一键启动”教程&#xff0c;而是一份真实部署手记 你可能已经看过不少Flux模型的介绍页面——“支持float8量化”“显存占用降低40%”“Gradio界面简洁直观”……这些描述都没错&#xff0c;但…

2026年知名的河北不锈钢网片厂家汇总与采购指南

在河北地区选择不锈钢网片供应商时,应重点考察企业的生产规模、技术实力、产品多样性以及市场口碑。河北作为中国重要的金属制品生产基地,尤其以安平县为中心的丝网产业集群享誉国内外。经过对2026年河北不锈钢网片市…

疫苗发布和接种预约系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着全球公共卫生事件的频发&#xff0c;疫苗管理系统的信息化需求日益凸显。传统疫苗分发和预约方式效率低下&#xff0c;难以应对大规模接种需求&#xff0c;且存在信息不透明、资源分配不均等问题。新冠疫情的爆发进一步加速了疫苗管理系统的数字化转型&#xff0c;通过…

YOLOv12官版镜像部署踩坑总结,这些细节要注意

YOLOv12官版镜像部署踩坑总结&#xff0c;这些细节要注意 YOLOv12不是一次常规迭代&#xff0c;而是一次架构范式的跃迁——当整个目标检测领域还在优化CNN结构时&#xff0c;它已悄然转向以注意力机制为内核的全新路径。但再惊艳的模型&#xff0c;落到真实服务器、边缘设备或…

适合新手的AI图像处理工具,科哥UNet界面友好易上手

适合新手的AI图像处理工具&#xff0c;科哥UNet界面友好易上手 你是否曾为一张商品图反复调整选区而烦躁&#xff1f;是否在深夜赶海报时被发丝边缘的白边折磨得想砸键盘&#xff1f;是否看着同事三秒抠好人像&#xff0c;自己还在用魔棒工具一点点擦&#xff1f;别担心——今…

cv_resnet18_ocr-detection支持Shift多选?文件上传技巧分享

cv_resnet18_ocr-detection支持Shift多选&#xff1f;文件上传技巧分享 1. 模型与WebUI简介 1.1 cv_resnet18_ocr-detection OCR文字检测模型 cv_resnet18_ocr-detection 是一款轻量级、高精度的OCR文字检测模型&#xff0c;基于ResNet-18主干网络构建&#xff0c;专为中文场…

快速搭建AI质检系统:YOLOv10镜像落地案例

快速搭建AI质检系统&#xff1a;YOLOv10镜像落地案例 在制造业智能化升级浪潮中&#xff0c;传统人工质检正面临效率瓶颈与标准不一的双重挑战。一条日均处理5万件产品的电子元器件产线&#xff0c;仅靠目检员每小时最多完成300次检测&#xff0c;漏检率却高达8.7%。而当YOLOv…

SGLang让大模型调用外部API变得如此简单

SGLang 让大模型调用外部 API 变得如此简单 1. 为什么调用外部 API 曾经这么难&#xff1f; 你有没有试过让大模型“真正做事”&#xff1f;不是只聊天&#xff0c;而是让它查天气、订机票、读数据库、发邮件、调用支付接口……结果发现&#xff1a; 模型输出的 JSON 格式总…

AutoGLM-Phone如何设置超时?执行等待参数调整技巧

AutoGLM-Phone如何设置超时&#xff1f;执行等待参数调整技巧 AutoGLM-Phone 不是传统意义上的“手机App”&#xff0c;而是一套运行在本地控制端、面向真机设备的轻量级 AI 智能代理框架。它把视觉理解、意图解析、动作规划和自动化执行串成一条闭环流水线——你说话&#xf…

自动驾驶感知模块实战:YOLOv10镜像高效部署

自动驾驶感知模块实战&#xff1a;YOLOv10镜像高效部署 在自动驾驶的感知系统中&#xff0c;实时、精准、鲁棒的目标检测能力是决策与规划模块的生命线。一辆以60km/h行驶的车辆&#xff0c;每100毫秒就位移1.67米——这意味着检测模型必须在极短时间内完成对行人、车辆、交通…

无需配置!Qwen-Image-2512-ComfyUI单卡4090D快速部署

无需配置&#xff01;Qwen-Image-2512-ComfyUI单卡4090D快速部署 你有没有试过——花半小时装环境、调依赖、改配置&#xff0c;最后发现显存不够、路径报错、模型加载失败&#xff1f;明明只是想生成几张图&#xff0c;却卡在部署环节动弹不得。更别提那些文档里写着“需多卡…

2026年视觉AI趋势:YOLO11开源部署成主流选择

2026年视觉AI趋势&#xff1a;YOLO11开源部署成主流选择 最近在多个工业检测、智能安防和边缘设备项目中&#xff0c;明显感受到一个变化&#xff1a;团队不再花两周时间从头配环境、调依赖、修CUDA版本冲突&#xff0c;而是直接拉起一个预装YOLO11的镜像&#xff0c;10分钟内…

为什么选择Qwen-Image-Layered?图层化编辑的三大优势

为什么选择Qwen-Image-Layered&#xff1f;图层化编辑的三大优势 你有没有遇到过这样的情况&#xff1a;好不容易生成一张满意的商品主图&#xff0c;客户却突然说“把背景换成纯白”“把模特手里的包换成新款”“给LOGO加个发光效果”——而你只能重新写提示词、重跑一遍模型…

YOLOE+Gradio快速搭建可视化检测Demo

YOLOEGradio快速搭建可视化检测Demo 你是否遇到过这样的场景&#xff1a;刚在论文里看到一个惊艳的开放词汇目标检测模型&#xff0c;想立刻试试它能不能识别“穿蓝裙子的咖啡师”或“正在充电的银色折叠自行车”&#xff0c;却卡在环境配置上——CUDA版本冲突、CLIP依赖报错、…

互联网大厂Java面试:Spring微服务与Redis缓存的深度探索

互联网大厂Java面试&#xff1a;Spring微服务与Redis缓存的深度探索 场景描述 某互联网大厂正在招聘Java开发工程师&#xff0c;面试官气势凌人&#xff0c;对面坐着的是传说中的“水货程序员”谢飞机。面试的业务场景是围绕电商场景的商品推荐和缓存优化展开。第一轮&#xff…

老相机拍的照片能修吗?GPEN低质量图片实测

老相机拍的照片能修吗&#xff1f;GPEN低质量图片实测 1. 一张泛黄的老照片&#xff0c;到底还能不能救&#xff1f; 你翻出抽屉里那台2005年买的索尼DSC-P72&#xff0c;内存卡里还存着十年前旅行时拍的几百张JPG——模糊、偏色、噪点密布&#xff0c;放大到50%就全是马赛克…