Control Compile Output

博客提及了项目调试可执行文件路径,包含$(OutDir)下的$(ProjectName)-debug.exe 以及$(SolutionDir)相关内容,与信息技术中项目构建和路径配置有关。

$(OutDir)\$(ProjectName)-debug.exe


$(SolutionDir)

分析如下报错信息,告诉我错误原因 Writing 'u-boot.bin'... Write size = 485928 Save binary OK. bfc.exe: 2018-04-5 full load version compress u-boot.bin to u-boot.lz.bin... Input file: 485928 bytes Compressed data: 302106 bytes (62.2%) Full compress, new file size = outsize + 16bytes = 302122 Calculate and write back checksum... Checksum = 0x2f81 SYM u-boot.sym make[4]: Leaving directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot' (mkdir -p /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/normal_boot/../output_bin; cp -fpR /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/normal_boot/u-boot.xz.img.bin /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/normal_boot/../output_bin/img1_bootloader.bin); (cd /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot; source /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/target/linux/nvt9853x/env_setup.sh /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/../sdk/soc/nvt9853x/glibc-toolchain-10.4.0 /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/product_config/accesscontrol/dts/Linux/cfg_538A_IPC_EMMC_RAMDISK_LOWPOWER_EVB && make -C ./general_bin_nvt9853x partition=dynamicNand_config DTS_SRC_L=/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/product_config/accesscontrol/dts/Linux/cfg_538A_IPC_EMMC_RAMDISK_LOWPOWER_EVB) make[4]: Entering directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/general_bin_nvt9853x' 18+0 records in 18+0 records out 73728 bytes (74 kB, 72 KiB) copied, 0.000177645 s, 415 MB/s 10+1 records in 11+0 records out 45056 bytes (45 kB, 44 KiB) copied, 0.000137535 s, 328 MB/s make[5]: Entering directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/general_bin_nvt9853x/configs' Error: nvt-top.dtsi:5.24-25 syntax error FATAL ERROR: Unable to parse input tree Makefile:90: recipe for target 'all' failed make[5]: *** [all] Error 1 make[5]: Leaving directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/general_bin_nvt9853x/configs' dynamicNand_config:48: recipe for target '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/general_bin_nvt9853x/../general_bin_nvt9853x/configs/cfg_gen/nvt-evb.dtb' failed make[4]: *** [/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/general_bin_nvt9853x/../general_bin_nvt9853x/configs/cfg_gen/nvt-evb.dtb] Error 2 make[4]: Leaving directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/general_bin_nvt9853x' Makefile:129: recipe for target '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/.built' failed make[3]: *** [/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/.built] Error 2 make[3]: Leaving directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/tp_package/bootloader' package/Makefile:105: recipe for target 'package/tp_package/bootloader/compile' failed make[2]: *** [package/tp_package/bootloader/compile] Error 2 make[2]: Leaving directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp' package/Makefile:101: recipe for target '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/stamp/.package_compile' failed make[1]: *** [/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/stamp/.package_compile] Error 2 make[1]: Leaving directory '/home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp' /home/lgb/sharedfile/nvmp/develop_accesscontrol/nvmp/include/toplevel.mk:203: recipe for target 'world' failed make: *** [world] Error 2
最新发布
11-13
;===================================================================================== ; 水体动态变化遥感监测系统 - 增强版 ; 功能: ; 1. 基于ENVI二次开发的水体提取 ; 2. 多时相水体变化检测 ; 3. 变化统计与可视化 ; 4. 结果导出功能 ; 使用方法:在ENVI+IDL环境中编译运行 ;===================================================================================== ; 主程序入口 PRO WaterMonitoring_System COMPILE_OPT idL2 ; 检查ENVI环境 IF ~ISA(ENVI(/HEADLESS)) THEN BEGIN MESSAGE, '请确保在ENVI环境中运行此程序' RETURN ENDIF ; 创建ENVI风格的UI envi_create_widget, '水体动态监测系统', tlb, /FLOAT, $ WIDTH=800, HEIGHT=600, /NO_OFFSET ; 添加菜单栏 menu_bar = WIDGET_BASE(tlb, /MENU_BAR) file_menu = WIDGET_BUTTON(menu_bar, VALUE='文件', /MENU) WIDGET_CONTROL, file_menu, MENU_ADD=WIDGET_BUTTON(file_menu, VALUE='打开影像...', $ UVALUE='open_image') WIDGET_CONTROL, file_menu, MENU_ADD=WIDGET_BUTTON(file_menu, VALUE='退出', $ UVALUE='exit') process_menu = WIDGET_BUTTON(menu_bar, VALUE='处理', /MENU) WIDGET_CONTROL, process_menu, MENU_ADD=WIDGET_BUTTON(process_menu, VALUE='计算NDWI', $ UVALUE='calc_ndwi') WIDGET_CONTROL, process_menu, MENU_ADD=WIDGET_BUTTON(process_menu, VALUE='变化检测', $ UVALUE='change_detect') ; 主界面布局 main_base = WIDGET_BASE(tlb, /COLUMN, FRAME=1, SPACE=5) ; 影像择区域 file_group = WIDGET_BASE(main_base, /ROW, FRAME=1, TITLE='影像择') WIDGET_CONTROL, file_group, SET_BUTTON=1 file_label = WIDGET_LABEL(file_group, VALUE='影像文件:') file_text = WIDGET_TEXT(file_group, XSIZE=50) file_button = WIDGET_BUTTON(file_group, VALUE='浏览...') ; 波段择区域 band_group = WIDGET_BASE(main_base, /ROW, FRAME=1, TITLE='波段择') WIDGET_CONTROL, band_group, SET_BUTTON=1 green_label = WIDGET_LABEL(band_group, VALUE='绿波段:') green_combo = WIDGET_DROPLIST(band_group, /EDITABLE) nir_label = WIDGET_LABEL(band_group, VALUE='近红外波段:') nir_combo = WIDGET_DROPLIST(band_group, /EDITABLE) ; 参数设置区域 param_group = WIDGET_BASE(main_base, /ROW, FRAME=1, TITLE='参数设置') WIDGET_CONTROL, param_group, SET_BUTTON=1 thresh_label = WIDGET_LABEL(param_group, VALUE='水体阈值:') thresh_slider = WIDGET_SLIDER(param_group, MINIMUM=0.0, MAXIMUM=1.0, VALUE=0.2, $ XSIZE=200, /FLOAT) thresh_text = WIDGET_TEXT(param_group, VALUE='0.2', XSIZE=5) ; 结果显示区域 result_group = WIDGET_BASE(main_base, /ROW, FRAME=1, TITLE='结果') WIDGET_CONTROL, result_group, SET_BUTTON=1 result_label = WIDGET_LABEL(result_group, VALUE='水体面积:') result_text = WIDGET_TEXT(result_group, VALUE='', XSIZE=15, /READ_ONLY) unit_label = WIDGET_LABEL(result_group, VALUE='平方公里') ; 按钮区域 button_group = WIDGET_BASE(main_base, /ROW) calc_button = WIDGET_BUTTON(button_group, VALUE='计算') export_button = WIDGET_BUTTON(button_group, VALUE='导出结果') ; 显示窗口 WIDGET_CONTROL, tlb, /REALIZE ; 事件循环 XMANAGER, 'WaterMonitoring_System', tlb, /NO_BLOCK END ; 计算NDWI PRO ComputeNDWI_Wrapper COMPILE_OPT idL2 ; 获取UI控件值 WIDGET_CONTROL, file_text, GET_VALUE=filename WIDGET_CONTROL, green_combo, GET_VALUE=green_band WIDGET_CONTROL, nir_combo, GET_VALUE=nir_band WIDGET_CONTROL, thresh_slider, GET_VALUE=threshold ; 检查输入 IF (filename EQ '') THEN BEGIN MESSAGE, '请择输入影像文件!' RETURN ENDIF ; 使用ENVI DOIT处理 envi_doit, 'ENVI_OPEN_FILE', FID=fid, /IN_MEMORY, $ INPUT=filename, /NO_REALIZE IF (fid EQ -1) THEN RETURN ; 获取波段信息 envi_doit, 'ENVI_FILE_QUERY', FID=fid, NS=ns, NL=nl, NB=nb, $ DIMS=dims, /NO_REALIZE ; 计算NDWI envi_doit, 'NDWI_DOIT', FID=fid, GREEN_BAND=green_band, $ NIR_BAND=nir_band, OUT_NAME='NDWI_Result', $ /IN_MEMORY, /NO_REALIZE ; 二值化提取水体 envi_doit, 'ENVI_THRESHOLD_DOIT', INPUT='NDWI_Result', $ THRESHOLD=threshold, VALUE=1, OUT_NAME='Water_Mask', $ /IN_MEMORY, /NO_REALIZE ; 计算水体面积 envi_doit, 'ENVI_STATISTICS_DOIT', INPUT='Water_Mask', $ POS=0, /NO_REALIZE, STATS=stats water_pixels = stats[1] ; 假设1表示水体 pixel_size = envi_get_pixel_size(fid) water_area = water_pixels * pixel_size[0] * pixel_size[1] / 1e6 ; 转换为平方公里 ; 更新UI显示 WIDGET_CONTROL, result_text, SET_VALUE=STRTRIM(STRING(water_area, FORMAT='(F10.2)'), 2) ; 显示结果 envi_doit, 'ENVI_DISPLAY', DATA='NDWI_Result', /ADD_TO_NEW, /NO_REALIZE envi_doit, 'ENVI_DISPLAY', DATA='Water_Mask', /ADD_TO_NEW, /NO_REALIZE ; 添加ROI用于可视化 envi_doit, 'ENVI_CONVERT_TO_ROI', INPUT='Water_Mask', $ VALUE=1, ROI_NAME='Water_Area', COLOR='blue', /NO_REALIZE END ; 多时相变化检测 PRO ChangeDetection_Wrapper COMPILE_OPT idL2 ; 获取两个时相的影像 file1 = DIALOG_PICKFILE(TITLE='择第一期影像') file2 = DIALOG_PICKFILE(TITLE='择第二期影像') IF (file1 EQ '' OR file2 EQ '') THEN RETURN ; 处理第一期影像 envi_doit, 'ENVI_OPEN_FILE', FID=fid1, /IN_MEMORY, $ INPUT=file1, /NO_REALIZE envi_doit, 'NDWI_DOIT', FID=fid1, GREEN_BAND=green_band, $ NIR_BAND=nir_band, OUT_NAME='NDWI_Time1', $ /IN_MEMORY, /NO_REALIZE envi_doit, 'ENVI_THRESHOLD_DOIT', INPUT='NDWI_Time1', $ THRESHOLD=threshold, VALUE=1, OUT_NAME='Water_Mask1', $ /IN_MEMORY, /NO_REALIZE ; 处理第二期影像 envi_doit, 'ENVI_OPEN_FILE', FID=fid2, /IN_MEMORY, $ INPUT=file2, /NO_REALIZE envi_doit, 'NDWI_DOIT', FID=fid2, GREEN_BAND=green_band, $ NIR_BAND=nir_band, OUT_NAME='NDWI_Time2', $ /IN_MEMORY, /NO_REALIZE envi_doit, 'ENVI_THRESHOLD_DOIT', INPUT='NDWI_Time2', $ THRESHOLD=threshold, VALUE=1, OUT_NAME='Water_Mask2', $ /IN_MEMORY, /NO_REALIZE ; 计算变化 envi_doit, 'ENVI_MATH_DOIT', EXPRESSION='Water_Mask2 - Water_Mask1', $ OUT_NAME='Water_Change', /IN_MEMORY, /NO_REALIZE ; 显示变化结果 envi_doit, 'ENVI_DISPLAY', DATA='Water_Change', /ADD_TO_NEW, /NO_REALIZE ; 添加变化图例 envi_doit, 'ENVI_LOAD_COLORS', INPUT='Water_Change', $ COLORS=[[255,0,0], [0,0,255], [0,255,0]], /NO_REALIZE envi_doit, 'ENVI_ADD_LEGEND', TITLE='水体变化', $ LABELS=['减少', '增加', '未变化'], /NO_REALIZE ; 计算变化统计 envi_doit, 'ENVI_STATISTICS_DOIT', INPUT='Water_Change', $ POS=0, /NO_REALIZE, STATS=change_stats decreased = change_stats[0] ; -1表示水体减少 increased = change_stats[2] ; 1表示水体增加 ; 显示统计结果 WINDOW, /FREE, XSIZE=400, YSIZE=300 PLOT, [0,1,2], [0, ABS(decreased), increased], /BAR, $ XTITLE='变化类型', YTITLE='像元数量', $ TITLE='水体变化统计', XTICKNAME=[' ', '减少', '增加', ' '] END ; 导出结果 PRO ExportResults_Wrapper COMPILE_OPT idL2 output_dir = DIALOG_PICKFILE(/DIRECTORY, TITLE='择输出目录') IF (output_dir EQ '') THEN RETURN ; 导出NDWI结果 IF (ENVI_QUERY_DATA('NDWI_Result') NE '') THEN BEGIN envi_doit, 'ENVI_EXPORT_DATA', INPUT='NDWI_Result', $ OUTPUT=output_dir+'ndwi_result.dat', /NO_REALIZE ENDIF ; 导出水体掩膜 IF (ENVI_QUERY_DATA('Water_Mask') NE '') THEN BEGIN envi_doit, 'ENVI_EXPORT_DATA', INPUT='Water_Mask', $ OUTPUT=output_dir+'water_mask.dat', /NO_REALIZE ENDIF ; 导出变化检测结果 IF (ENVI_QUERY_DATA('Water_Change') NE '') THEN BEGIN envi_doit, 'ENVI_EXPORT_DATA', INPUT='Water_Change', $ OUTPUT=output_dir+'water_change.dat', /NO_REALIZE ENDIF MESSAGE, '结果已成功导出到: '+output_dir END ; 事件处理程序 PRO WaterMonitoring_System_EVENT, event COMPILE_OPT idL2 CASE event.ID OF file_button: BEGIN filename = DIALOG_PICKFILE(FILTER='*.dat;*.tif;*.img') IF (filename NE '') THEN BEGIN WIDGET_CONTROL, file_text, SET_VALUE=filename ; 自动填充波段信息 envi_doit, 'ENVI_OPEN_FILE', FID=fid, /IN_MEMORY, $ INPUT=filename, /NO_REALIZE IF (fid NE -1) THEN BEGIN envi_doit, 'ENVI_FILE_QUERY', FID=fid, NB=nb, /NO_REALIZE bands = LINDGEN(nb)+1 WIDGET_CONTROL, green_combo, SET_VALUE=3, SET_DROPLIST_VALUE=STRARR(bands) WIDGET_CONTROL, nir_combo, SET_VALUE=5, SET_DROPLIST_VALUE=STRARR(bands) ENDIF ENDIF END calc_button: ComputeNDWI_Wrapper export_button: ExportResults_Wrapper thresh_slider: BEGIN WIDGET_CONTROL, thresh_slider, GET_VALUE=val WIDGET_CONTROL, thresh_text, SET_VALUE=STRING(val, FORMAT='(F4.2)') END thresh_text: BEGIN WIDGET_CONTROL, thresh_text, GET_VALUE=val IF (VERIFY(val, '.0123456789') EQ -1) THEN $ WIDGET_CONTROL, thresh_slider, SET_VALUE=FLOAT(val) END ; 菜单事件 'open_image': BEGIN filename = DIALOG_PICKFILE(FILTER='*.dat;*.tif;*.img') IF (filename NE '') THEN WIDGET_CONTROL, file_text, SET_VALUE=filename END 'calc_ndwi': ComputeNDWI_Wrapper 'change_detect': ChangeDetection_Wrapper 'exit': WIDGET_CONTROL, event.TOP, /DESTROY ENDCASE END改善该代码使其按要求设计水体动态变化遥感监测的遥感可视化系统开发设计 要求有:IDL编程+ENVI二次开发(ENVI doit)+编写界面(ENVI界面)
06-25
make V=ss -j1 clean-staging make[4]: Entering directory '/home/fuyu1/code/nt9853x_project/platform/nvmp/tp_package/bootloader' /home/fuyu1/code/nt9853x_project/platform/nvmp/product_config/accesscontrol/device_info.config:83: warning: overriding recipe for target '/home/fuyu1/code/nt9853x_project/platform/nvmp/bin/nvt9853x-accesscontrol/order_dynamic.txt' /home/fuyu1/code/nt9853x_project/platform/nvmp/product_config/accesscontrol/device_info.config:83: warning: ignoring old recipe for target '/home/fuyu1/code/nt9853x_project/platform/nvmp/bin/nvt9853x-accesscontrol/order_dynamic.txt' /home/fuyu1/code/nt9853x_project/platform/nvmp/product_config/accesscontrol/device_info.config:131: warning: overriding recipe for target '/home/fuyu1/code/nt9853x_project/platform/nvmp/bin/nvt9853x-accesscontrol/order_dynamic_ubi.txt' /home/fuyu1/code/nt9853x_project/platform/nvmp/product_config/accesscontrol/device_info.config:131: warning: ignoring old recipe for target '/home/fuyu1/code/nt9853x_project/platform/nvmp/bin/nvt9853x-accesscontrol/order_dynamic_ubi.txt' rm -f /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/stamp/.bootloader_installed make[4]: Leaving directory '/home/fuyu1/code/nt9853x_project/platform/nvmp/tp_package/bootloader' rm -rf /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader mkdir -p /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader/host /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/packages /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/host/packages find /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader -name '*.la' | xargs -r rm -f; (mkdir -p /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader/mini_compile; cp -fpR /home/fuyu1/code/nt9853x_project/platform/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/normal_boot/../output_bin/* /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader/mini_compile/); (mkdir -p /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader/mini_compile; cp -fpR /home/fuyu1/code/nt9853x_project/platform/nvmp/build_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/linux-nvt9853x_generic/bootloader/factory_boot/../output_bin/* /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader/mini_compile/); if [ -d /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader ]; then (cd /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader; find ./ > /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader.files); SHELL= /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/host/bin/flock /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/.staging-dir.flock -c ' mv /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader.files /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/packages/bootloader.list && cp -fpR /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader/* /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/; '; fi rm -rf /home/fuyu1/code/nt9853x_project/platform/nvmp/tmp/stage-bootloader touch /home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/stamp/.bootloader_installed make[3]: Leaving directory '/home/fuyu1/code/nt9853x_project/platform/nvmp/tp_package/bootloader' make[2]: Leaving directory '/home/fuyu1/code/nt9853x_project/platform/nvmp' package/Makefile:101: recipe for target '/home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/stamp/.package_compile' failed make[1]: *** [/home/fuyu1/code/nt9853x_project/platform/nvmp/staging_dir/target-aarch64-ca53-linux-gnueabihf-accesscontrol/stamp/.package_compile] Error 2 make[1]: Leaving directory '/home/fuyu1/code/nt9853x_project/platform/nvmp' /home/fuyu1/code/nt9853x_project/platform/nvmp/include/toplevel.mk:203: recipe for target 'world' failed make: *** [world] Error 2
09-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值