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

免费的外网服务器seo排名赚钱

免费的外网服务器,seo排名赚钱,济南网站制作公司哪家技术好,wordpress backupbuddy概述 虽然我这里使用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/wzjs/139232.html

相关文章:

  • 网站如何做微信推广方案设计网络竞价
  • qq网站推广代码seo搜索铺文章
  • 动态网站没有数据库怎么做注册域名后怎么建网站
  • 下载企业网站搜索引擎优化关键词选择的方法有哪些
  • 国外经典手机网站设计来宾网站seo
  • 文学类网站怎么做网站设计与制作毕业论文范文
  • 卖一手房做哪个网站好外链官网
  • web建立虚拟网站百度热搜榜怎么打开
  • 山东宏福建设集团有限公司网站小红书sem是什么意思
  • 网站导航怎么设置十句经典广告语
  • 做网站建设本地推广最好用的平台
  • 网站运营与推广计划书怎么做收录网站的平台有哪些
  • wordpress 已安装主题seo二级目录
  • 湖南营销型网站建设 干净磐石网络营销方式和渠道有哪些
  • 电商网站零售客户google推广教程
  • 自动化设计网站建设软文网站
  • 做的网站域名劫持龙华网站建设
  • 济宁网站建设注册网站怎么注册
  • 网站banner内容奉节县关键词seo排名优化
  • 内涵图网站源码seo是什么职业
  • 小程序服务器可以做网站吗seo系统培训
  • 厦门免费网站建设东莞做网站的联系电话
  • wordpress 前台 用户长沙网站seo方法
  • 网站鼠标的各种效果怎么做的seo关键词推广方式
  • 在线做维恩图的生物信息学网站网络服务提供者不履行法律行政法规规定
  • 免费域名注册和免费建站专业竞价托管哪家好
  • 为什么网站要备案自己怎么做网址
  • 北京网站设计开发公司长沙seo推广外包
  • 金山网站建设武汉百度快照优化排名
  • 网站管理维护怎么做nba最新比赛直播