当前位置: 首页 > news >正文

网站诚信体制建设手机网站开发框架php

网站诚信体制建设,手机网站开发框架php,视频博客主题wordpress,中信建设有限责任公司领导班子概述 虽然我这里使用CMake,但是它只是一个用于编译生成可执行文件的工具,完全不影响将工具换成g,gcc等,这套配置是完全通用的 右上角一键编译运行的内部流程task.json格式概述launch.json格式概述CMake格式概述攒起来&#xff0…

概述

虽然我这里使用CMake,但是它只是一个用于编译生成可执行文件的工具,完全不影响将工具换成g++,gcc等,这套配置是完全通用的

  1. 右上角一键编译运行的内部流程
  2. task.json格式概述
  3. launch.json格式概述
  4. CMake格式概述
  5. 攒起来,组合成通用开发环境

一键编译运行的内部流程

  1. 点击运行 C/C++ 文件(或按下F5)
  2. vscode调用launch.json挑选调试器、根据参数配置运行环境
  3. 调用task.json生成可执行文件
  4. 启动调试器,加载用task.json生成的可执行文件
  5. 开始调试

task.json格式概述

  • 举例
		{"label": "CMake: Build","type": "shell","command": "cmake","args": ["../"],"options": {"cwd": "${workspaceFolder}/build"},"dependsOn": ["create"]},

概述

  1. task.json中,在 “tasks”: [ ] 方括号中的,每一组用 { } 括起来“东西”,都是一个task,也是这个文件真正要去执行的事
  2. 将一系列task组合起来,就可以实现一个完整的目标(有点类似于shell脚本,只不过shell以指令为单位,task.json以任务为单位)

具体变量解释

  1. “label” 表示当前任务的名称,
  2. “type” 表示当前任务的类型,不同类型对应了该任务不同的执行的方式
    • “shell”,在终端执行;
    • “process”,在一个新的进程中直接执行,常用于避免 shell 特定的行为或环境变量影响
    • “customExecution”,使用一个扩展来提供自定义的任务执行逻辑
    • “npm”,专门用于执行 npm 脚本
  3. “command” 表示执行时要使用的指令
  4. “args” 表示执行指令时要输入的参数
  5. “cwd” 表示执行该任务的目录
  6. “dependsOn” 表示该任务依赖于其他什么任务,填入需要在此之前执行完的任务名称

完整task.json

实现了一个完整的清除build,重新编译生成的全流程

{"version": "2.0.0","tasks": [{"label": "clean","type": "shell","command": "rm","args": ["-r", "build"],"options": {"cwd": "${workspaceFolder}"}},{"label": "create","type": "shell","command": "mkdir","args": ["build"],"options": {"cwd": "${workspaceFolder}"},"dependsOn": ["clean"]},{"label": "CMake: Build","type": "shell","command": "cmake","args": ["../"],"options": {"cwd": "${workspaceFolder}/build"},"dependsOn": ["create"]},{"label": "make","type": "shell","command": "make","args": [],"options": {"cwd": "${workspaceFolder}/build"},"dependsOn": ["CMake: Build"]  // make 依赖 CMake 生成 Makefile},{"label": "build","dependsOn": ["clean", "create", "CMake: Build", "make"],"dependsOrder": "sequence"}]
}
  • 重点解释build任务
    • 相当于将之前的所有任务都攒起来,变成一个完整的处理流程,launch只需要调用这个build任务,就可以完成一次清理并重建
    • 最后一个属性"dependsOrder": “sequence”,指定了依赖任务的执行顺序。表示所有前置任务将按照它们在 “dependsOn” 数组中出现的顺序依次执行。

launch.json格式概述

{"version": "0.2.0","configurations": [{"name": "CMake Debug","type": "cppdbg","request": "launch","program": "${fileDirname}/build/bsp","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"miDebuggerPath": "/usr/bin/gdb","preLaunchTask": "build"}]
}

概述

launch很简单,只干三件事:

  1. 定义如何启动调试器(GDB)
  2. 调试前的构建任务(preLaunchTask)
  3. 调试目标程序的位置

具体变量解释

  • name: "CMake Debug"
    作用: 调试配置的名称,显示在 VS Code 调试器下拉列表中。

  • type: "cppdbg"
    作用: 指定调试器类型为 C++ Debugger

  • request: "launch"
    作用: 表示启动一个新的程序进行调试(而非附加到已运行的进程)。

  • program: "${fileDirname}/build/bsp"
    作用: 指定要调试的可执行文件路径。

  • stopAtEntry: false
    作用: 是否在程序入口(如 main 函数)自动暂停。设为 false 表示直接运行程序。

  • cwd: "${workspaceFolder}"
    作用: 调试程序的工作目录,此处设为工作区根目录。影响程序的文件读写路径(如相对路径的文件访问)。

  • externalConsole: false
    作用: 是否在外部系统终端中运行程序。设为 false 表示使用 VS Code 内置终端。

  • MIMode: "gdb"
    作用: 指定底层调试器为 GDB(GNU Debugger)。

  • setupCommands
    作用: 调试器启动时执行的初始化命令。通常我们不需要反汇编的,将自动生成的反汇编部分删除即可

    • text: 向 GDB 发送 -enable-pretty-printing 命令,启用结构化数据(如 STL 容器)的友好显示。
    • ignoreFailures: 即使命令执行失败,也不终止调试会话。
  • miDebuggerPath: "/usr/bin/gdb"
    作用: 显式指定 GDB 的路径。缺省时,VS Code 会从系统环境变量中查找 GDB。

  • preLaunchTask: "build"
    作用: 在启动调试前自动执行 tasks.json 中定义的 build 任务(如编译代码)。在上面的task.json中已经着重介绍过 build 任务了。

CMake格式概述

CMake本质就是告诉编译器如何编译(生成makefile)
无非就是用相对简单的方式,管理结构比较复杂的程序,然后在不同平台的兼容性上相对好一些,和c_cpp_properties.json几乎是一样的功能

# 设置 CMake 最低版本要求
cmake_minimum_required(VERSION 3.10)# 设置项目名称和编程语言
project(BSP_Project C)# 添加头文件目录
include_directories(${CMAKE_SOURCE_DIR})# 设置可执行文件输出目录(可选)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)# 添加可执行文件
add_executable(bsp 		# 生成的可执行文件的名称main.c 				# 两个用于生成可执行文件的源文件bsp.c
)
target_include_directories(bsp PUBLIC ${CMAKE_SOURCE_DIR})

需要注意的是,生成的可执行文件名称,一定要和launch中的program对应,不然launch会找不到它

http://www.dtcms.com/a/587897.html

相关文章:

  • 商品展示网站源码滁州森沃纸质包装有限公司
  • 商务网站的分类咖啡网站开发
  • 怎么创建网站平台入侵网站怎么做弹出
  • 驻马店市住房和城乡建设局网站首页循化网站建设公司
  • 工商工事上哪个网站做vue做网站前台
  • 做 58 那样的网站胡芦娃app软件下载网站
  • 怎样提高网站流量wordpress多重筛选
  • 学交互设计网站flash 网站 源码
  • 7免费网站建站网站的设计需要什么
  • 做淘客网站 名字招商加盟网站建设目的
  • 江苏做网站xlec最好的购物网站排名
  • 中铁雄安建设有限公司网站网站代码审计
  • asp网站制作工具华硕路由器wordpress
  • 网站开发科技公司广东装饰网站建设
  • 焦作专业做网站公司哪家好平台不得诱导下载
  • 招聘做牙技工的网站中山石岐网站建设
  • 公司怎么做网站推广养老院微网站建设方案
  • 网站域名做跳转要收费吗快速网站开发 带数据库
  • 公司网站建设需要准备哪些资料中国工商注册网官方网址
  • asp源码网站园区网互联及网站建设项目
  • 电话销售做网站推销html5高端酒水饮料企业网站模版
  • 网站安全检测方法网站建设申请总结
  • 成都h5网站建设想自己建一个公司网站怎么做
  • 兼职做放单主持那个网站好网站建设与管理方案书
  • 大连网站建设公司排名红色文创产品设计
  • 数据型网站建设房地产网站建设招商
  • 重庆建设工程招标造价信息网站项目实施方案
  • 有哪些做共享充电宝的网站系统软件开发培训机构
  • 驻马店专业做网站公司手机网站快速排名
  • 数据库网站开发价格如何做黑客攻击网站