VScode运行C语言,qsort测试例子

2023-10-31

好久没用,刚好需要测试一下排序。顺便把VSCode的配置也记录一下。

准备

1.安装编译环境,我用的mingw64。官网https://sourceforge.net/projects/mingw-w64/files/

记得安装好配置环境变量,或者配置到系统环境变量。在这里插入图片描述

配置

1、配置编译

在这里插入图片描述
在这里插入图片描述

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++ make",
			"command": "E:\\Shared_Folder\\toolchain\\mingw64\\mingw64\\bin\\gcc.exe",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "E:\\Shared_Folder\\toolchain\\mingw64\\mingw64\\bin\\gcc.exe"
		}
	]
}

运行编译生成
在这里插入图片描述
在这里插入图片描述

2、配置调试

在这里插入图片描述
我这里选了gdb,使用windows自带的也可以。
在这里插入图片描述
在这里插入图片描述
生成的文件名和调试名称保持一致,调试前调用编译生成任务。
在这里插入图片描述

{
  // 使用 IntelliSense 了解相关属性。
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) 启动",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": true,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "E:\\Shared_Folder\\toolchain\\mingw64\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        },
        {
          "description": "将反汇编风格设置为 Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++ make"
    }
  ]
}

qsort测试

1、结构体测试

#include "stdio.h"
#include "stdint.h"
#include "stdlib.h"

typedef struct
{
    char name[6];
    uint8_t age;
} people_t;

int cmpfun(const void *a, const void *b)
{
    people_t *aa = (people_t *)a;
    people_t *bb = (people_t *)b;

    // 如果cmp返回值为正数,二者交换位置,返回值为负,二者位置不变。返回值为0,则随机。
    return (aa->age - bb->age); // 升序排列
}

people_t member[4] = {"Tom", 10, "Jerry", 20, "Alize", 100, "Saber", 50};

void main(void)
{
    qsort(member, 4, sizeof(people_t), cmpfun);
    for (uint8_t i = 0; i < 4; i++)
    {
        printf("Name:%s\n", member[i].name);
        printf("Age :%d\n", member[i].age);
    }
}

输出结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VScode运行C语言,qsort测试例子 的相关文章

  • 如何在 Eclipse 中启用列选择模式?

    News 写道 Eclipse 3 5 终于支持列选择 不幸的是我不知道如何启用它 我尝试按 ALT 键 就像我在 Visual Studio 和所有其他 Microsoft 产品中习惯的那样 但这没有效果 如何在 Eclipse 中标记垂
  • 如何让 js2-mode 在 Emacs 中使用空格而不是制表符?

    我在用js2 mode http code google com p js2 mode 在 Emacs 中编辑 Javascript 但我似乎无法让它停止使用制表符而不是空格进行缩进 我的其他模式工作正常 只是遇到 js2 问题 你有 se
  • 更改 Eclipse 启动配置中的默认“要运行的程序”

    我时不时地使用以下命令从 Eclipse 中启动 JUnit 测试 运行方式 gt JUnit 插件测试 默认情况下 Eclipse 假设您正在运行需要工作台的东西 并在启动配置的 Main 部分中进行选择 LaunchConfig gt
  • 设置 xamarin studio 以与 PCL 和 MVVMCross 配合使用

    我真的很喜欢 Xamarin Studio 并且正在寻找一个模板解决方案来开始使用 MvvmCross 开发跨设备应用程序 但我找不到如何将项目设置为与 Xamarin Studio 一起使用 PCL 和 MvvmCross 如果有人能给我
  • 立即运行所有 Xcode 的“Fix-it”

    升级到 Xcode 7 后 为了支持 iOS 9 我修复了数百个错误和警告 是否有一个按钮可以让 Xcode 全部运行它们 而不是单独一个一个地运行它们 There is actually a solution for this in Xc
  • Delphi预定义环境变量

    谁能告诉我在哪里可以找到 RAD Studio 中可用的 伪 环境变量列表 例如 Platform Config 等 具体来说 我想要一个能够为我提供 RTL 版本的版本 以便我可以将编译单元 dcu 放入正确的目录中 即 XE为D15 X
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何设置 Xcode 来代替 Qt Creator 工作?

    我不使用 Qt Creator 的 UI 设计功能 对于一个新项目 我想体验一下使用 Xcode 的工作 这将是一个常规的 Qt 项目 使用 C 和 Qt 库开发 就像在 Qt Creator 中一样 我没有使用 OS X 尤其是 Xcod
  • VBA:新集合 -> 模块不是有效类型

    我尝试使用集合作为函数的一部分 但是在编译时不断收到错误 模块不是有效类型 即使该函数只是定义一个集合 我也会得到相同的结果 Function CountUniqueTags Dim table As Collection Set tabl
  • android studio 和 android SDK 捆绑的 eclipse 版本有什么区别

    我没有 Android 开发经验 我想开始编写应用程序 The 官方开发者工具页面 http developer android com tools index html包含两个不同 IDE 的链接 第一个包含捆绑的 ADT 版本Eclip
  • 设置 Emacs 进行 Erlang 编程

    Emacs 是 Erlang 编程的首选 IDE 有很多好的模式 distel erlware mode 默认的 erlang 模式 但是您对设置 Emacs 进行专业 Erlang 开发有何建议 按照中所述设置 erlang mode自述
  • R 编程常用工具

    如果已经以不同的方式问过这个问题 我深表歉意 但我找不到任何达到我想要的东西 我真的是从其他软件包 SPSS 开始接触 R 的 当我了解真正可以做什么时 我意识到我还需要其他 工具 这让我想到了我的问题 您有哪些用于开发 R 代码的设置 我
  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • Sublime Text 缩进设置被文件覆盖

    我正在开发一个项目 其中制表符大小应该为 4 并且制表符不应该是空格 我更新了我的 Preferences sublime settings 文件以包括 detect indentation false tab size 4 transla
  • 在 spring 上下文中通过类路径引用文件

    我正在尝试设置org springframework beans factory config PropertyPlaceholderConfigurerspring bean 我有 jdbc propertiessrc main conf
  • 如何折叠 C# 中的所有 #region 和方法?

    全部一一崩掉真是太烦人了 Like Steve said CTRL M plus CTRL L for collapsing all regions recursively This one is a toggle meaning you
  • 如何在 PyCharm 社区版中运行 Django 项目的调试服务器?

    有人在 PyCharm 社区版中为 Django 项目设置调试配置时遇到问题吗 IDE 的社区版缺少项目设置中的项目类型选项 然后当我设置 调试 或 运行配置 时 它会要求我提供应该运行的脚本 Django 需要什么脚本 manage py
  • IntelliJ 11.1.3 中的“应用程序服务器”选项卡在哪里

    与以前的版本一样 在 IDE 设置中找不到应用程序服务器选项卡 我正在使用 11 1 3 Ultimate 它就在那里 也许你缺少一些插件 If you still can t find it hit Ctrl Shift A Enter
  • 有没有可以很好地处理模板的 C++ IDE?

    当使用与模板相关的内容时 我尝试过的每个 IDE 都无法提供代码完成功能 例如 boost shared ptr ptr ptr gt cursor is here 在这种情况下 是否有 IDE 可以提供代码补全功能 带有 Visual A
  • 是否可以配置CLion来独立编译项目中的源文件?

    我目前正在使用 JetBrains CLion IDE 用 C 语言进行一些 Project Euler 挑战 当我用 Python 和 Java 分别用 PyCharm 和 IntelliJ 完成这些任务时 我总是能够创建一个名为 Pro

随机推荐

  • windows环境java加载dll出错原因记录

    Exception in thread main java lang UnsatisfiedLinkError dll 1 不是有效的 Win32 应用程序 记录一次windows10环境下java调用test dll文件出现下边的错误的原
  • PD3.1详解 第一章EPR

    PD3 1详解 第一章EPR 各大厂商逐渐在推广PD3 1的方案 从苹果的第一款PD3 1的适配器开始 目前慢慢的各种应用场合应用 比如一些电动工具 大功率储能产品等等 首先PD3 1增加了一个重要的概念 那就是TypeC接口功率部分最大可
  • cmake混合编译cuda和c++代码

    cmake混合编译cpp和cuda代码 实际背景 在cpp项目中需要调用一些 cu代码 但是两个代码的编译是不同的 cpp代码使用g 编译 cuda代码使用nvvc编译 因此需要分别编译 再链接 同时需要在cuda侧进行一些简单的封装 简单
  • 更高级的测试

    软件测试的艺术 1 功能测试 功能测试是一个试图发现程序与其外部规格说明之间存在不一致的过程 外部规格说明是一份从最终用户的角度对程序行为的精确描述 功能测试通常是一项黑盒操作 要依赖于早期模块测试的过程来实现理想的白盒逻辑覆盖准则 2 系
  • detectron2入门学习二:实现FruitsNut水果坚果分割任务数据集Mask与coco格式转换处理

    学习目标 将数据集进行Mask掩膜 coco标注等不同格式的转换 工程文件地址 https github com fenglingbai FruitsNutsHandle 一 单实例的coco标注与Mask掩膜相互转换 掩膜转换的方式有多种
  • Git使用笔记

    文章目录 前言 使用笔记 软件安装 基础设置 本地使用 远程交互 忽略文件 提交信息格式参考 Git常用命令速查表 前言 Git是一个免费的 开源的分布式版本控制系统 旨在以快速高效的方式处理从小型到大型的所有项目 Git is a fre
  • 【真】OpenFaaS部署

    环境 虚拟机VMware环境下 三台CentOS7虚拟机 早期准备 安装openssh server 配置NAT地址转换 配置TZ 能够自由访问github 很重要 集群免密等小问题 关闭防火墙 K8s部署 V1 22 4 1 关闭内存缓冲
  • kali安装中文输入法(搜狗输入法)

    创作不易 记得点个赞哦 kali Linux并不自带中文输入法 下面提供安装搜狗输入法的简单教程 1 登录搜狗官网 找到搜狗输入法Linux版的下载页面 搜狗输入法linux 首页搜狗输入法for linux 支持全拼 简拼 模糊音 云输入
  • 关于虚拟数字人你想知道的都在这里

    2022年底 微软旗下的人工智能实验室Open AI发布的对话式大型语言模型ChatGPT聊天机器人一夜蹿红 5天用户量超百万 在各大中外媒体平台掀起了一阵热潮 也带火了人工智能相关产业 AI虚拟数字人就是其中之一 一个随着元宇宙概念火热而
  • TCP的三次握手以及四次断开简述

    三次握手 第一次握手是指在建立TCP连接时 客户端给服务端发出与端口连接的请求 SYN 1 Seq 并且确认自己的信息是否可以传达到服务端 在服务端收到来自于客户端的连接请求后 开始第二次握手 即服务端向客户端回应客户端请求 SYN ACK
  • Flutter 41: 图解神秘的 SystemChrome

    小菜在切换横竖屏时用到 SystemChrome 小菜理解它作为一个全局属性 很像 Android 的 Application 功能很强大 setPreferredOrientations 在我们日常应用中可能会需要设置横竖屏 或锁定单方向
  • llinux 写/etc/passwd文件添加用户

    llinux 写 etc passwd文件添加用户 openssl passd加密 前言 在做vulnhub靶机 AI web 1 0的时候 getshell用户具有 etc passwd写权限 etc shadow无读写权限 傻子将 et
  • [华为OJ--C++]087-在字符串中找出连续最长的数字串

    题目描述 在字符串中找出连续最长的数字串 如果是输入字符串中连续最长的数字串长度为0 则只输出数字0 如果输入的字串中最长的数字字串只有一组 那么输出这个数字字串再加上数字字串长度 用逗号隔开 如果输入字串中有多个相同长度的数字字串 那么依
  • 【深入理解计算机系统】第二章重点汇总

    2 1 信息的存储 十六进制转二进制 将十六进制的每一位转换成一个4位的二进制 即 0123456789 A B C D E
  • Android开发之获取网页源码

    在有关网络通讯方面的开发应用中有的时候 需要得到网页的源代码 然后对源代码进行一些处理 现在考虑最简单的例子 获取百度首页的源码 界面设计如下 图 1 基本功能就是点击 显示 按钮后将百度首页的源码显示在下方 首先 这里我们用到了访问网络的
  • 3dmax不能撤销

    3dmax是设计常用的软件 它既可以用来做图 也可以用来编程 但是现在出现很多的病毒 影响了3dmax的使用 例如有时候在使用3dmax做图的时候 会出现场景不能撤销的情况 这个时候就需要注意了 这个一般是感染了3dmax的ALC病毒导致的
  • JavaWeb --- JavaScript

    一 JavaScript介绍 JavaScript语言诞生主要是完成页面的数据验证 因此它运行在客户端 需要运行浏览器来解析执行JavaScript代码 JS是Netcape网景公司的产品 最早取名为LiveScript 为了吸引更多jav
  • IDEA如何执行maven命令进行打包编译及常用命令

    前提条件 maven配置环境变量 在保证环境变量配置没问题的情况下执行过程出现mvn不是内部命令类似的错误 建议重启编译器或者命令窗口 执行maven命令 方式一 在IDEA主界面左下角找到 Terminal 点击进入 直接输入想执行的命令
  • 出现 No services need to be restarted. No containers need to be restarted. No user sessions are 解决方法

    目录 前言 1 问题所示 2 解决方法 前言 此提示严重 如果有意关闭 可继续往下看 1 问题所示 当使用apt安装东西的时候 底下会出现如下问题 Scanning linux images Running kernel seems to
  • VScode运行C语言,qsort测试例子

    好久没用 刚好需要测试一下排序 顺便把VSCode的配置也记录一下 准备 1 安装编译环境 我用的mingw64 官网https sourceforge net projects mingw w64 files 记得安装好配置环境变量 或者