Visual Studio Code 调试 C/C++

近来学到了使用 GDB 来调试程序,了解到只有编译时让生成的可执行程序带有调试信息才能使用 GDB 去调试。于是我想起了 Visual Studio Code 的 tasks.json 和 launch.json 文件。我们要使用 Visual Studio Code 自带的调试面板来调试 C/C++ 程序,,可以分成两个任务,一是使用编译器生成带有调试信息可执行程序,再用 GDB 去调试。 编译 使用 gcc 命令编译并加上参数 “-g” 就可以生成所需要的调试程序,tasks.json 部分文件如下: 调试 在 launch.json 文件中配置好 gdb 的命令,launch.json 文件如下: 然后下断点、点击 F5 键即可开始调试,效果如图: 禁忌·多重任务 真是中二呢 给出自用的 tasks.json 和 launch.json :tasks.json: launch.json : 此时使用 终端->运行任务.. 即可在同一个目录下运行不同的任务,使得多种语言的编译运行而不用切换目录。 Read more…

VisualStudio Code 编译运行 C/C++ ( tasks.json 方法)

本文主要使用了 blackkitty 大佬文章中的方法: Click ME! 首先在工作区的 .vscode 目录下新建一个名为 tasks.json 的文件,并写入以下内容,然后使用 Ctrl + Shift + B 即可在 VScode 自带的终端中运行程序: { “version”: “2.0.0”, “tasks”: [ { “label”: “Build”, “windows”: { “command”: “gcc”, // 写 C 用 gcc ,写 C++ 用 g++ , clang 同理 “args”: [ // gcc 命令后跟的参数,以 a.c 为例,这里就是:gcc a.c Read more…

基本数据结构——单链表的实现(C)

单链表是上机时的作业,下面是简易实现,其中测试函数是抄来的: #include <stdio.h> #include <stdlib.h> #include <assert.h> #define OK 1 #define NONONO 0 typedef int element_type; typedef int Status; typedef struct LINKLIST_NODE { element_type data; struct LINKLIST_NODE *next; } LinkListNode; // 初始化单链表 Status LinkListInit(LinkListNode *L); // 删除单链表 Status LinkListDestroy(LinkListNode *L); // 清空单链表 Status LinkListClear(LinkListNode *L); // 判断单链表为空 Status isLinkListEmpty(LinkListNode *L); Read more…

基本数据结构——顺序表的实现(C)

顺序表是上机时的作业,是一种插入和删除的时间复杂度都是 O(N) 的~神奇~数据结构,下面是简易实现~,其中测试函数是抄来的~: #include <stdio.h> #include <stdlib.h> #include <assert.h> #define OK 1 #define NONONO 0 #define INITLENGTH 1000 #define ADDLENGTH 1000 typedef int Status; typedef int element_type; typedef struct ARRLIST { element_type *base; int length; int max; } ArrList; // 初始化顺序表 Status ListInit(ArrList *L); // 删除顺序表 Status ListDestroy(ArrList *L); // Read more…

基本数据结构——链式队列的实现(C)

定义 队列,又称为伫列(Queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。 实现: #include <stdio.h> #include <stdlib.h> #include <assert.h> #define OK 1 #define NONONO -1; typedef int Element_type; //定义 Element_type 类型,即队列数据类型为 int typedef int Status; typedef struct QUEUE_NODE { Element_type data; struct QUEUE_NODE *next; } QueueNode, *Queue_pointer; typedef struct { Queue_pointer front; Queue_pointer rear; } Queue; // 队列初始化 Status Read more…

基本数据结构——链式堆栈的实现(C)

定义 堆栈(英语:Stack)又称为栈或堆叠,是计算机科学中一种特殊的串列形式的抽象数据类型,其特殊之处在于只能允许在链表或数组的一端(称为堆栈顶端指针,英语:Top)进行加入数据(英语:Push)和输出数据(英语:Pop)的运算。由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。 实现: #include <stdio.h> #include <stdlib.h> #include <assert.h> #define OK 1 #define NONONO -1; typedef int Element_type; //定义 Element_type 类型,即栈数据类型为 int typedef int Status; typedef struct STACK_NODE { Element_type data; struct STACK_NODE *next; } StackNode, *Stack_pointer; typedef struct { Stack_pointer top; } Stack; Status StackInit(Stack Read more…

使用宝塔面板部署 WordPress 、配置 HTTPS 和开启伪静态

上篇关于宝塔面板的博客中我们完成了 LNMP 环境的配置,那我们现在来部署知名博客程序 WordPress 吧! 部署 WordPress 我们先去 WordPress 网站上下载最新的 WordPress 程序,下载完成后我们把它上传到网站目录 然后解压至当前目录 并把 wordpress 目录里的所有文件移动到网页根目录,解压完成后可以删除 zip 、wordpress 文件夹 下图是完成后的样子 然后访问 somemamgel.me/wp-admin ,即可开始配置 WordPress 数据库名、用户名和密码即我们创建网站时所使用的 其他选项不用更改 不建议选择会在页面中显示出来的用户名,因为这可能导致网站被恶意攻击。这里填写的邮箱将会在 WordPress 站点注册后提供头像 安装完成后在 用户 里为当前用户添加一个名字,并选择 公开显示 为此名字,更新个人资料后即可生效 Setting -> 常规,修改站点地址、WordPress地址为 https://blog.somemamgel.me 配置 HTTPS 及全站开启强制 HTTPS 在宝塔面板的 网站 中选择我们的网站 -> 设置 -> SSL -> Read more…

使用宝塔面板一键部署 LNMP 环境

关于宝塔面板 宝塔面板是一款服务器管理软件,支持windows和linux系统,可以通过Web端轻松管理服务器,提升运维效率。 特色功能: 一键配置服务器环境(LAMP/LNMP) 一键安全重启 一键创建管理网站、ftp、数据库 一键配置(定期备份、数据导入、伪静态、301、SSL、子目录、反向代理、切换PHP版本) 一键安装常用PHP扩展(fileinfo、intl、opcache、imap、memcache、apc、redis、ioncube、imagick) 数据库一键导入导出 系统监控(CPU、内存、磁盘IO、网络IO) 防火墙端口放行 SSH开启与关闭及SSH端口更改 禁PING开启或关闭 方便高效的文件管理器(上传、下载、压缩、解压、查看、编辑等等) 计划任务(定期备份、日志切割、shell脚本) 软件管理(一键安装、卸载、版本切换) Debian 9 安装宝塔面板 其他发行版点击 这里 查看官方手册 命令行输入 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh 即可使用 Bash 脚本安装宝塔面板 这里有个坑,确认的时候大写 Y 好像没用,小写 y 才有用 稍等片刻,面板安装完成后会输出面板登录的端口和用户密码,我们把它存下来备用 LNMP 环境一键配置 登录面板,选择左边的 LNMP 选项,将 PHP 改成 PHP 7.2,然后视情况选择编译安装或者极速安装,这里选编译安装 。。漫长的等待后 在面板的 Read more…

让 WordPress 支持 Markdown —— WP Editor.md 插件

Markdown 介绍 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 使你的 WordPress 站点支持 Markdown 语法 这里推荐比较好用的 WP Editor.md 插件。WordPress 安装插件页面搜索 WP Editor.md ,即可安装该插件。 启动插件后在 插件 -> 常规设置 -> 使文章或者页面支持Markdown语法 中启动支持,就能在写文章的时候使用 Markdown

Debian 9 手动搭建 LNMP 和 WordPress 以及配置 SSL

1. 在DigitalOcean中创建一个新的主机,这里使用Debian 9.5 配置:1 CPU;1G RAM;25G SSD;IP: 138.68.134.69。已更改初始密码 已有域名 somemamgel.me 增加 Dotbed 源 使用WinSCP在 /etc/apt/sources.list 中增加下面两行 deb http://nginx.org/packages/debian/ stretch nginxdeb-src http://nginx.org/packages/debian/ stretch nginx stretch 是 Debian 9 的代号, Debian 8 为 jessie 使用 putty 连接 VPS 并输入 apt-get upgrade && apt-get update 更新一波依赖 2. 安装 Nginx 输入 apt-get install nginx Read more…