• 摘要视图
  • 目录视图

所有文章列表

WebRTC detect connection type

WebRTC detect connection type

Test on Chromium 87 and 90

Detecting the connection type of webrtc, p2p or relay.

// Listen for connectionstatechange on[......]

>> 阅读全文...

资源管理器重启后 electron 隐藏任务栏图标失效问题的解决方案

1. 问题现象

创建一个electron 窗口,设置skipTaskbar为true,即可隐藏应用的任务栏图标。

const {app, BrowserWindow} = require('electron')

function createWindow () {
  cons[......]

>> 阅读全文...

LeetCode-206-单链表逆序

问题描述

LeetCode – Reverse Linked List

将单链表逆序

算法1 插入法

性能:
Runtime: 4 ms, faster than 89.98% of C online submissions for Reverse Linked List.

算法思路:
类比于插入排[……]

>> 阅读全文…

LeetCode-26-已排序数组去重

问题描述

LeetCode – Remove Duplicates from Sorted Array

对已经排好序的数组,去除其中重复的元素,并返回去重后的长度。如[1,2,2,3,3],去重后为[1,2,3] ,去重后长度为3

算法1

两个指针,前者(p)记录当前去重后的最后一个元素,后者(i)[……]

>> 阅读全文…

算法-螺旋队列

问题

21  22  …
20  7   8   9   10
19  6   1   2   11
18  5   4   3   12
17  16  15  14  13

看清以上数字排列的规律,设 1 点的坐标是 (0,0),x 方向向右为正,y 方向向下为正。例如,7 的坐标为 ([……]

>> 阅读全文…

mac 系统升级后,gcc/clang 提示 ld:malformed file 错误

问题

升级了系统到 macOS Mojave 10.14.4,使用gcc 和 clang 编译时,总是提示如下错误

➜ tmp gcc main.c
ld: malformed file
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.s[……]

>> 阅读全文…

生活的单调线

最能还原一段心情的,莫过于旧事的文字和熟悉的旋律

无意翻看到以前的文字,旧时光与心情瞬息间涌出,除了周围的人事,仿佛一下子回到那些时刻。

等醒悟过来,明白只能偶然的重入,而永远不能重回,另起几分惆怅。

感叹没有记录的生活,只是一次单调的往前不断延伸的直线,烦于生计的蒙眼前行。而近年莫不[……]

>> 阅读全文…

C++ 智能指针的实现

1. shared_ptr 的特性

shared_ptr内部维护一个引用计数,当创建、copy、销毁时,引用计数都会变化

(1) 拷贝构造函数 p(q),会递增q的引用,p和q指向同一个对象

shared_ptr<string> q = make_shared<string>[......]

>> 阅读全文...

CAS 的跨平台实现方案 以及 基于CAS 的无锁多线程安全日志类

CAS

CAS, compare-and-swap, 原子的比较和设置变量值。

#include <stdio.h>

#if defined(__linux__) || defined(__unix__)
    #define CAS32(ptr, val_old, val_new[......]

>> 阅读全文...

protobuf c++ 笔记

protobuf的github 源码地址为 https://github.com/google/protobuf

本次使用的环境为ubuntu,参照官方教程

1. 编译源码

sudo apt-get install autoconf automake libtool curl #安装工具
git c[......]

>> 阅读全文...

c++ bind1st 和 bind2nd的用法

std::bind1st 和 std::bind2nd将二元函数转换为一元函数,具体用法参加下面的代码。

代码介绍了两种使用方式,第一种是使用std::less和std::greater,第二种是使用自定义的仿函数。

#include <iostream>
#include <ve[......]

>> 阅读全文...

日志函数

一个简单的日志函数示例,使用宏实现日志的打印和显示。

不足:没有考虑多线程的文件操作问题;宏较长,使用宏会使得代码体积膨胀。

#include <stdio.h>
#include <time.h>
#include <string>

#define __MOD[......]

>> 阅读全文...

libjpeg的交叉编译以及jpeg图片的缩放(缩略图)

libjpeg 库的交叉编译

libjpeg 库主要用于 jpeg 格式图片的编解码,其交叉编译过程如下

1. 下载源码

从官方网站http://www.ijg.org/files/ 下载libjpeg库的源码,本次编译过程使用的是jpegsrc.v9a.tar.gz

2. 解压源码

# 2.1 切[......]

>> 阅读全文...

这是人间好时节

春有百花秋有月

夏有凉风冬有雪

若无闲事挂心头

便是人间好时节

晚上在西溪跑步的时候,走在一个荷花池中的栈道时,停了下来,两旁是茂密的芦苇草,芦苇长的很旺盛,高高的超过了栈道,向着栈道压了下来。夜色已深,抬头那一轮近圆月挂在不远的天际,一颗星星也没有,月亮却显得那么明亮,明天就是十五,明个它[……]

>> 阅读全文…

晚点,但不会遗漏

这是我今晚和一个朋友时说的,本意是安慰对方,可却把自己的情绪陷进去了,沉静了好久。

“我相信这种种的安排都是为了更好的生活 因为命运知道怎么样的生活才是适合我们的 他给我们安排了这些 我们只是没有理解 只是一厢情愿的沉浸在自己的小情绪中 不懂得命运的安排而已
还不时的埋怨他 其实我们错了[……]

>> 阅读全文…