怎样把自己做的网站上传网站架设地址

张小明 2026/1/8 10:14:05
怎样把自己做的网站上传,网站架设地址,软件开发一天收费多少,自己网站做seobuild.ninja 目标查找与编译指南#xff08;以 camera_framework 为例#xff09; 本文面向 OpenHarmony GN Ninja 构建体系#xff0c;覆盖以下内容#xff1a; “camera_framework 同名导致 unknown target”的根因与解决办法out/arm64/targets/build.ninja 怎么产生的b…build.ninja 目标查找与编译指南以 camera_framework 为例本文面向OpenHarmony GN Ninja构建体系覆盖以下内容“camera_framework 同名导致 unknown target”的根因与解决办法out/arm64/targets/build.ninja怎么产生的build.ninja语法/规则怎么读重点包含行末$与$:转义像camera_framework这种重名/多形态 target如何区分“部件target”和“库产物target”如何用grep / ninja -t targets / ninja -t query快速定位并给出可直接复制的编译指令build.sh -T说明文中的命令示例以当前环境路径为准/root/633/out/arm64/targets/build.ninja。1. 问题背景为什么最开始-T camera_framework编译失败同名导致误解1.1 初始现象初始尝试命令如下./build.sh --product-name 633_rk3588j_isdt-2 -T camera_framework该命令无法编译成功典型表现为 ninja 报unknown target。1.2 “同名”的起点两处都叫 camera_framework但含义完全不同误解的根源是camera_framework这个字符串在两处被定义但属于不同层面的“名字”bundle.json部件/组件名component.name camera_frameworkcomponent: { name: camera_framework, subsystem: multimedia, syscap: [SystemCapability.Multimedia.Camera.Core], features: [],BUILD.gnGN 目标名/模块名ohos_shared_library(camera_framework)ohos_shared_library(camera_framework) { branch_protector_ret pac_ret install_enable true sources [这两处“同名”本身不是错误但非常容易误以为-T camera_framework可以直接编译。1.3 为什么-T camera_framework会失败真正原因./build.sh -T传给的是ninja 的 target 名不是 bundle.json 的component.name。因此当写-T camera_framework时ninja 会去查找一个名为camera_framework的 target但在当前build.ninja中这个“短名字 target”并不存在通常存在的是“带路径的 target”。可用下面命令快速验证返回空表示“没有这个 target”grep-n^build camera_framework:/root/633/out/arm64/targets/build.ninja真正存在的是这类带路径的定义举例grep-n^build .*camera_framework/root/633/out/arm64/targets/build.ninja|head另外在bundle.json中也能看到该部件并不是直接写“camera_framework”去编译而是列出了它包含的GN label带路径 冒号fwk_group: [ //foundation/multimedia/camera_framework/frameworks/native/camera:camera_framework, //foundation/multimedia/camera_framework/frameworks/native/ndk:ohcamera, //foundation/multimedia/camera_framework/interfaces/kits/js/camera_napi:camerapicker_napi, //foundation/multimedia/camera_framework/interfaces/kits/js/camera_napi:camera_napi, //foundation/multimedia/camera_framework/interfaces/kits/js/camera_napi:camera_js, //foundation/multimedia/camera_framework/interfaces/kits/js/camera_napi:camerapicker_js ],注意GN label 里常见的//是“源码根路径”语义但build.ninja里的 ninja target不会带//而是类似foundation/...这样的路径。在out/arm64/targets/build.ninja中可以看到对应的ninja targetphony 聚合目标带路径build foundation/multimedia/camera_framework/common$:camera_utils: phony obj/foundation/multimedia/camera_framework/common/camera_utils.stamp build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework: phony multimedia/camera_framework/libcamera_framework.z.so build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework__check: phony obj/foundation/multimedia/camera_framework/frameworks/native/camera/camera_framework__check.stamp build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework__collect: phony obj/foundation/multimedia/camera_framework/frameworks/native/camera/camera_framework__collect.stamp build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework__notice: phony obj/foundation/multimedia/camera_framework/frameworks/native/camera/camera_framework__notice.stamp build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework_info: phony obj/foundation/multimedia/camera_framework/frameworks/native/camera/camera_framework_info.stamp因此正确做法是使用带路径的目标名进行编译见第 2 节。1.3.1 速查表多个“camera_framework”的含义对照bundle.json 的component.namecamera_framework部件/组件名不是 ninja targetBUILD.gn 的 GN target 名camera_framework需要配合路径才能唯一定位bundle.json 里用于构建的 GN label//foundation/.../camera:camera_frameworkGN 语义build.ninja 里的目标写法foundation/.../camera$:camera_frameworkNinja 文件内部写法$:表示字面量:命令行应使用的 ninja targetfoundation/.../camera:camera_framework把$:还原成:库产物 targetmultimedia/camera_framework/libcamera_framework.z.so1.3.2 为什么-T graphic_2d能“编译整个部件”对比说明在foundation/graphic/graphic_2d/bundle.json中可见组件名 子系统component: { name: graphic_2d, subsystem: graphic, syscap: [当一个部件被纳入产品配置后构建系统通常会在build.ninja里为其生成一个同名的顶层聚合目标phony。当前 out 目录中存在build graphic_2d: phony obj/out/arm64/targets/build_configs/graphic/graphic_2d/graphic_2d.stamp build graphic_2d_info: phony obj/out/arm64/targets/build_configs/graphic/graphic_2d/graphic_2d_info.stamp build graphic_2d_inner_kits: phony obj/out/arm64/targets/build_configs/graphic/graphic_2d/graphic_2d_inner_kits.stamp build graphic_2d_innerkit_remove_check_so: phony obj/out/arm64/targets/build_configs/graphic/graphic_2d/graphic_2d_innerkit_remove_check_so.stamp build graphic_2d_sdk_info: phony obj/out/arm64/targets/build_configs/graphic/graphic_2d/graphic_2d_sdk_info.stamp build graphic_2d_test: phony obj/out/arm64/targets/build_configs/graphic/graphic_2d/graphic_2d_test.stamp因此执行./build.sh --product-name 633_rk3588j_isdt-2 -T graphic_2d等价于让 ninja 构建这个“部件级 phony target”。该 target 依赖并触发build_configs/.../graphic_2d.stamp从而把bundle.json里配置的各个 groupbase/fwk/service 等相关目标一并拉起构建——表现上就是“编译整个部件”。补充关键点要严格证明“编译整个部件”需要展开依赖链并确认其覆盖范围。第一步聚合目标只依赖一个 stampgraphic_2d的 phony 依赖graphic_2d.stamp见上面build graphic_2d: phony ...graphic_2d.stamp。第二步看 stamp 的输入是什么graphic_2d.stamp的输入里包含graphic_2d_install_modules.json/graphic_2d_dep_modules.json可以用ninja -t query查看。第三步看 install_modules.json 里列了什么graphic_2d_install_modules.json明确列出了该部件的模块清单每条都带module_defGN label且part_name为graphic_2d例如[ { module_def: //foundation/graphic/graphic_2d/frameworks/opengl_wrapper:EGL(//build/toolchain/ohos:ohos_clang_arm64), module_info_file: obj/foundation/graphic/graphic_2d/frameworks/opengl_wrapper/EGL_module_info.json, part_name: graphic_2d, subsystem_name: graphic, toolchain: //build/toolchain/ohos:ohos_clang_arm64, toolchain_out_dir: . }, { module_def: //foundation/graphic/graphic_2d/frameworks/opengl_wrapper:GLESv3(//build/toolchain/ohos:ohos_clang_arm64), module_info_file: obj/foundation/graphic/graphic_2d/frameworks/opengl_wrapper/GLESv3_module_info.json, part_name: graphic_2d, subsystem_name: graphic, toolchain: //build/toolchain/ohos:ohos_clang_arm64, toolchain_out_dir: . }, { module_def: //foundation/graphic/graphic_2d/utils/color_manager:color_manager(//build/toolchain/ohos:ohos_clang_arm64), module_info_file: obj/foundation/graphic/graphic_2d/utils/color_manager/color_manager_module_info.json, part_name: graphic_2d, subsystem_name: graphic, toolchain: //build/toolchain/ohos:ohos_clang_arm64, toolchain_out_dir: . }, { module_def: //foundation/graphic/graphic_2d/rosen/modules/2d_graphics:2d_graphics(//build/toolchain/ohos:ohos_clang_arm64), module_info_file: obj/foundation/graphic/graphic_2d/rosen/modules/2d_graphics/2d_graphics_module_info.json, part_name: graphic_2d, subsystem_name: graphic, toolchain: //build/toolchain/ohos:ohos_clang_arm64, toolchain_out_dir: . }, { module_def: //foundation/graphic/graphic_2d/utils/socketpair:socketpair(//build/toolchain/ohos:ohos_clang_arm64), module_info_file: obj/foundation/graphic/graphic_2d/utils/socketpair/socketpair_module_info.json, part_name: graphic_2d, subsystem_name: graphic, toolchain: //build/toolchain/ohos:ohos_clang_arm64, toolchain_out_dir: . }, // ... 后续还有大量 graphic_2d 部件内模块 ... ]因此“-T graphic_2d会编译整个部件”的更严格表述为-T graphic_2d会触发部件级 phony → 部件 stamp → 部件模块清单install_modules.json这条链路install_modules.json枚举了该部件内的模块module_def构建系统据此拉起这些模块的编译/安装信息生成所以它的效果等价于“把 graphic_2d 部件配置覆盖的模块整体拉起来构建”而不是只编单个.so。对比camera_framework可用 grep 验证当前build.ninja里没有build camera_framework: phony ...这种顶层部件目标grep-n^build camera_framework:/root/633/out/arm64/targets/build.ninja因此-T camera_framework会失败需要改用带路径的目标如foundation/.../camera:camera_framework或直接编库产物如multimedia/camera_framework/libcamera_framework.z.so。1.3.3 归纳何时可以“直接用名字 -T”构建必要条件按“部件名”构建整个部件例如-T graphic_2d一般规律若部件名在该部件的构建命名空间中不与部件内其它 GN 目标短名冲突构建系统往往会生成同名的顶层聚合目标build part_name: phony ...从而支持-T part_name直接构建整个部件。必要条件可验证当前build.ninja中确实存在build part_name: phony ...这一类短名目标。冲突提示当部件名与部件内某个 GN 目标短名同名例如部件名camera_framework部件内又存在ohos_shared_library(camera_framework)为避免短名歧义顶层短名聚合目标可能不会生成此时通常会生成“带路径的部件聚合目标”例如build out/.../build_configs/subsystem/part$:part: phony ...需要用该目标来编整个部件。按“GN 目标短名”构建单个目标例如-T target_name必要条件当前build.ninja中存在名为target_name的可构建 target且无歧义。更稳妥做法直接使用“带路径的 target”path:target形式进行构建避免短名不存在或重名导致unknown target/歧义。结论是否能用短名-T最终以build.ninja中是否存在对应 target为准可用grep ^build name: build.ninja或ninja -t targets验证。1.4 常见误用从 build.ninja 直接复制$:写法到命令行“二级坑”$:转义常见误用命令如下./build.sh --product-name 633_rk3588j_isdt-2\-Tfoundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework该写法会报错因为build.ninja文件里为了表达字面量:会写成$:但命令行里 target 名应使用真实的冒号:。即.../camera$:camera_frameworkbuild.ninja 内部写法.../camera:camera_framework命令行应使用一句话总结从 build.ninja 复制目标名时把$:还原为:把行末续行用的$去掉。2. 解决方案如何正确编译“部件 target”与“库 target”编译部件聚合 targetphony✅ 编译整个camera_framework部件部件级 build_configs 聚合 target./build.sh --product-name 633_rk3588j_isdt-2\-Tout/arm64/targets/build_configs/multimedia/camera_framework:camera_frameworkbuild.ninja中对应的目标定义为build out/arm64/targets/build_configs/multimedia/camera_framework$:camera_framework: phony obj/out/arm64/targets/build_configs/multimedia/camera_framework/camera_framework.stamp build out/arm64/targets/build_configs/multimedia/camera_framework: phony obj/out/arm64/targets/build_configs/multimedia/camera_framework/camera_framework.stampout/arm64/targets/build_configs/multimedia/camera_framework/BUILD.gn可以作为**辅助判断“部件构建名”**的依据直接查看其中的ohos_part(构建名)例如ohos_part(camera_framework)即可确认该部件的聚合目标名称并可顺带确认该部件聚合的模块清单module_list。进一步推导若对源码目录/子系统划分比较熟悉可直接在out/arm64/targets/build_configs/subsystem/part/下通过“目录定位”快速确认部件的聚合构建名以ohos_part(构建名)为准再回到build.ninja验证其是否已生成对应的 Ninja target。推荐使用带路径的 target例如out/.../build_configs/...:camera_framework但在少数场景下build.ninja会额外提供短名别名如graphic_2d此时也可直接用短名进行-T构建。但需要区分清楚-T的参数必须是Ninja target 名而不是某个BUILD.gn的文件路径。构建整个部件时使用的是build.ninja里已经生成出来的聚合目标out/arm64/targets/build_configs/multimedia/camera_framework:camera_frameworkphony - *.stamp。该 target 名的来源在633/out/arm64/targets/build.ninja中搜索build_configs/multimedia/camera_framework可直接命中build out/arm64/targets/build_configs/multimedia/camera_framework$:camera_framework: phony ...命令行使用时把$:还原为:得到可用于-T的 target。✅ 编译单个 GN 模块//foundation/multimedia/camera_framework/frameworks/native/camera:camera_framework对应libcamera_framework.z.so./build.sh --product-name 633_rk3588j_isdt-2\-Tfoundation/multimedia/camera_framework/frameworks/native/camera:camera_framework❌ 错误把 build.ninja 内部转义写法$:原样拿去当 target./build.sh --product-name 633_rk3588j_isdt-2\-Tfoundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework编译库产物 target.z.so./build.sh --product-name 633_rk3588j_isdt-2\-T multimedia/camera_framework/libcamera_framework.z.so同时编“部件 库”一次命令-T/--build-target支持指定多个build 系统里明确支持所以可以一次编两个目标。./build.sh --product-name 633_rk3588j_isdt-2\-Tfoundation/multimedia/camera_framework/frameworks/native/camera:camera_framework\-T multimedia/camera_framework/libcamera_framework.z.so3. build.ninja 是怎么产生的生成链路OpenHarmony 的构建大体分为preloader / loader解析产品配置、子系统/部件/模块信息gn执行gn gen生成 Ninja 构建文件核心产物就是build.ninjaninja根据build.ninja的规则执行实际编译/链接在仓内文档build/docs/how-to-add-a-build-parameter.md里明确写到“执行 gn gen 编译命令产生的 build.ninja 文件可以类比与 makefile 文件。”在build/hb/services/gn.py中也可以看到gn gen的执行方式hb 调用 gn大体就是组装gn gen ... out_dir命令out 目录即self.config.out_path对应out/arm64/targets这一类产物目录结论/root/633/out/arm64/targets/build.ninja是GN 阶段gn gen生成的后续ninja -C /root/633/out/arm64/targets ...读取它来执行编译。4. build.ninja 的语法规则建议掌握的核心要点build行定义一个“可构建目标”最重要的一句build 输出target: rule 输入依赖...输出target这个字符串就是 Ninja 的target 名可被构建/被依赖。rule使用哪个规则来生成它。rule规则定义编译/链接/拷贝等build.ninja里会有很多rule xxx比如编译 C/C 的、链接 so 的等。在“判断目标类型/行为”时更关键的是build 行里使用的 rule 名字phony聚合/别名 target它本身不产生文件只是把依赖串起来。其他例如cxx/cc/alink/solink/stamp等一般对应真实动作。stamp常见于“收集/检查/notice”等阶段性标记文件*.stamp。注意不同产品/工具链生成的 rule 命名可能略有差异但phony的语义是 Ninja 固定语法。$在 Ninja 里的两种常见用法行末续行 vs$:转义在 Ninja 语法里$最常见有两种用途千万别混淆行末$续行符line continuation表示这一行还没写完下一行继续。$:转义后的冒号:。因为:在build out: rule里有语法含义如果目标名本身包含冒号例如 GN label 形式path:targetNinja 文件里会把这个冒号写成$:来避免歧义。典型例子是all目标的依赖列表非常长因此会写成build all: phony $ obj/.../xxx.stamp $ multimedia/camera_framework/libcamera_framework.z.so $ obj/.../yyy.stamp $ ...这里的含义是build all: phony $定义了一个all聚合目标后续每一行缩进的都是all的依赖每行末尾$表示依赖列表继续不是 target 名的一部分因此可以看到行末$multimedia/camera_framework/libcamera_framework.z.so $应当理解为真实 target 名multimedia/camera_framework/libcamera_framework.z.so行末$仅表示“下一行还有依赖项”不是 target 名的一部分另外还有一种常见$用法$:转义。build.ninja中会出现这种形式build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework: phony multimedia/camera_framework/libcamera_framework.z.so这行里camera$:camera_framework的含义是Ninja 文件内部写法camera$:camera_framework真实 target 名命令行/日志里应使用camera:camera_framework结论命令行里不要带$:需要把$:还原成:。否则会触发unknown target报错。unknown target ...camera$:camera_framework, did you mean ...camera:camera_framework?5. camera_framework 这种“多形态 target”怎么区分部件 vs 库核心问题在于camera_framework在多个层面都有名字GN target 名path:target形式部件/模块聚合目标通常是phony真实产物.z.so/.so/ 可执行程序等部件/聚合 targetphony在build.ninja中可以找到如下示例注意这里的$:是 Ninja 文件里的转义写法build foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework: phony multimedia/camera_framework/libcamera_framework.z.so解读build.ninja 内部写法foundation/multimedia/camera_framework/frameworks/native/camera$:camera_framework真实 target 名命令行应使用foundation/multimedia/camera_framework/frameworks/native/camera:camera_framework规则phony说明这就是“别名/聚合目标”它依赖的真实产物multimedia/camera_framework/libcamera_framework.z.so库产物 target真实 so 输出名在all目标的依赖清单中也能看到库产物本身multimedia/camera_framework/libcamera_framework.z.so $这类.so或.z.so通常才是期望的“真实编译结果/链接结果”。常见疑问为什么 grep^build multimedia/camera_framework/libcamera_framework.z.so:有时找不到因为不同生成策略下.so可能是最终输出也可能还会经过 wrapper/重命名/打包步骤更稳妥的方法是用ninja -t query来追溯它的生成规则见下文第 7 节。6. 在 build.ninja 里“怎么搜”推荐的定位套路只看 target 定义搜^build找 camera_framework 相关定义最快grep-n^build .*camera_framework/root/633/out/arm64/targets/build.ninja|head-n50通常会看到两类信息...$:camera_framework: phony ...部件/聚合$:是 build.ninja 内部转义命令行要还原成:...camera_framework__check/__collect/__notice...一般是 stamp 相关目标想知道某个库是否进入“全量编译”看build allall目标基本代表“全量构建入口”做全量编译时会走到它依赖的所有项。可按如下方式搜索allgrep-n^build all:/root/633/out/arm64/targets/build.ninja然后在build all的依赖区域进一步 grepgrep-nmultimedia/camera_framework/libcamera_framework.z.so/root/633/out/arm64/targets/build.ninja注意build all的依赖非常长直接打开文件会很难读用 grep 定位行号再看局部上下文更高效。7. 不要“盲 grep”用 ninja 自带工具精确查 target推荐Ninja 提供了非常实用的“自省”命令比直接肉眼阅读build.ninja更稳定列出所有 target然后 grep 关注项说明当前环境里系统ninja可能不在 PATH建议直接用预置 ninja/root/633/prebuilts/build-tools/linux-x86/bin/ninja。另外out 目录可能存在重复规则-t targets建议加-w dupbuildwarn以避免直接报错中断。/root/633/prebuilts/build-tools/linux-x86/bin/ninja -wdupbuildwarn\-C /root/633/out/arm64/targets -t targets all|grepcamera_framework|head-n50该步骤最适合解决以下问题unknown target camera_framework说明传入的不是 Ninja 目标名“同名太多不知道选哪个”查询某个 target 的生成关系追溯它由谁生成/root/633/prebuilts/build-tools/linux-x86/bin/ninja -wdupbuildwarn\-C /root/633/out/arm64/targets -t query multimedia/camera_framework/libcamera_framework.z.so该命令会输出这个输出由哪个 rule 生成例如链接/拷贝它依赖了哪些输入对象文件、其他库、stamp 等这一步是“找真实编译规则”的最可靠方式。8. 用 build.sh 精准编译部件名 vs 库名camera_framework 示例先确认-T/--build-target支持指定多个仓内build/README_zh.md明确写了-T BUILD_TARGET, --build-targetBUILD_TARGET # 指定编译目标可以指定多个并且build/scripts/entry.py里参数解析也是parser.add_option(-T, --build-target, actionappend, default[])结论-T支持重复传参从而在一次构建中同时指定多个目标。说明本节与第 2 节避免重复本节的“部件/库/同时编译”命令已在本文第 2 节给出避免重复。9. 常见坑位速查unknown target camera_framework原因传入的是部件/模块在 bundle.json 里的名字而不是 Ninja 的 target 名。解决用ninja -t targets all | grep camera_framework找到真实 target通常是path:target或具体产物路径。如果目标名来自build.ninja的复制需要先把$:还原为:。修改out/.../build_configs/.../BUILD.gn后出现 “Regenerating ninja files / Unresolved dependencies”原因out/arm64/targets/build_configs/subsystem/part/BUILD.gn属于 GN 构建图的输入很多场景下还是生成物。改动其中的ohos_part(构建名)/依赖列表可能导致gn gen重建build.ninja时出现依赖无法解析从而使构建直接失败。建议该类文件用于“辅助定位/确认部件聚合目标与模块清单”即可需要改动部件构建配置时应回溯并修改上游生成来源例如产品配置、bundle/部件配置、loader 生成逻辑再重新生成 out。从 build.ninja 复制目标名记得把$:还原为:例如 build.ninja 里写foundation/.../camera$:camera_framework命令行里应使用foundation/.../camera:camera_framework“这行只有xxx.z.so $找不到build xxx.z.so: ...”解释这行很可能只是all的依赖项之一依赖列表里出现不代表它的build规则一定就在附近。解决优先使用ninja -t query xxx.z.so追溯生成链路或者 grep 整个文件的build头grep -n ^build .*xxx\.z\.so ...注意有时输出名会被包装/重命名。10. 建议的“实战操作流程”最省时间列出所有相关 targets/root/633/prebuilts/build-tools/linux-x86/bin/ninja -wdupbuildwarn\-C /root/633/out/arm64/targets -t targets all|grepcamera_framework对目标做 query确认其类型phony 还是产物/root/633/prebuilts/build-tools/linux-x86/bin/ninja -wdupbuildwarn\-C /root/633/out/arm64/targets -t queryfoundation/multimedia/camera_framework/frameworks/native/camera:camera_framework/root/633/prebuilts/build-tools/linux-x86/bin/ninja -wdupbuildwarn\-C /root/633/out/arm64/targets -t query multimedia/camera_framework/libcamera_framework.z.so用build.sh -T精准编译注意$转义./build.sh --product-name 633_rk3588j_isdt-2\-Tfoundation/multimedia/camera_framework/frameworks/native/camera:camera_framework11. 附快速理解 “部件 target” 为啥在 build.ninja 里长得像...$:camera_framework这类...$:形式并不是“目标名里真的有$”而是 Ninja 为了表达path:target这种包含冒号的 label在build.ninja文件中使用的转义写法$:表示字面量:。因此在需要“按模块/部件维度构建”时通常应使用完整路径 冒号 target 名的形式而不是只写短名字。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站备案系统源码保定网络公司建设网站

一、概述:运动补偿与距离对准的定义 1. 运动补偿的背景 在激光雷达(LiDAR)、合成孔径雷达(SAR)、超声成像等主动遥感系统中,平台运动(如无人机、卫星、车辆、机器人)会导致传感器与目…

张小明 2026/1/4 7:26:03 网站建设

最好的免费软件网站建设c 网站开发需要什么

🍥兜里藏金ᐝ࿐ 吸钞💸体质拉满ཀོ࿐暴富锦鲤ꚸ附体Չᐝ࿐ᩚ ༄ᐝ财运爆棚ഒᩚ࿐🌼᭄好运ꚸ超载Չᐝ࿐ᩚ ꪋꪆ꫁⁵⁰月薪百万꧔🎀᭄༣财神敲门🏠ଓꦿ࿐ 🌼᭄快乐ꚸ溢屏Չᐝ࿐ᩚꪋꪆ᭄好运💕扎堆…

张小明 2026/1/4 7:25:31 网站建设

织梦网站怎么做投票阿里云 cdn wordpress

构建3D数字人交互应用的新范式:Sonic与Three.js的融合实践 在短视频当道、虚拟主播频出的时代,你有没有想过——一个会“说话”的数字人,其实只需要一张照片和一段录音就能诞生?更进一步,如果这个数字人还能站在网页里…

张小明 2026/1/4 7:24:59 网站建设

做视频网站盈利多少高端建站选哪家

第一章:智谱Open-AutoGLM沉思在人工智能与大语言模型迅猛发展的今天,智谱推出的 Open-AutoGLM 引发了广泛关注。它不仅代表了一种自动化生成语言模型推理路径的新范式,更体现了“思维链”(Chain-of-Thought, CoT)技术在…

张小明 2026/1/4 7:24:27 网站建设

网站开发需要掌握技术wordpress改颜色

用户行为分析:追踪哪些参数组合最受欢迎 在短视频、虚拟主播和在线教育快速发展的今天,内容创作者对“数字人”技术的需求正从专业制作向轻量化、批量化的方向演进。过去,生成一个会说话的虚拟形象需要复杂的3D建模、绑定骨骼与动作捕捉设备&…

张小明 2026/1/6 0:12:27 网站建设

阳江做网站详细解读05网语文

Linux命令行与Shell脚本编程完全教程:从入门到精通实战指南 【免费下载链接】Linux命令行与Shell脚本编程大全第3版PDF全本21MB百度网盘下载分享 本仓库提供了一本关于Linux命令行与Shell脚本编程的全方位教程资源文件,标题为《Linux命令行与Shell脚本编…

张小明 2026/1/4 7:22:20 网站建设