自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 LuaJIT通过ffi接口偶现无法执行C动态库中的C函数问题追踪

LuaJIT通过ffi接口偶现无法执行C动态库中的C函数

2024-07-17 14:29:39 820

原创 使用Linux下的bind9替代WindowsAD中的WinDNS的方法

bind9是有ISC开发的一套开源的DNS服务软件。是使用最为广泛的DNS服务软件,是DNS的事实标准。

2023-08-27 17:13:44 506 1

原创 nghttp2编译引起的gcc升级笔记

序言公司最近项目的业务需要,需要使用nghttp2这个开源库。所以从github.com上下载了一个release版本的nghttp2,然后通过源码进行编译安装。编译和编译出错定位与解决下载源码包: wget https://github.com/nghttp2/nghttp2/releases/download/v1.42.0/nghttp2-1.42.0.tar.xz解压:xz -d nghttp2-1.42.0.tar.xz && tar xf nghttp2-1.42.0.

2021-01-04 19:05:42 1420

原创 pkg-config使用笔记

简介pkg-config用于返回系统中已安装库的元信息。pkg-config对库元信息查询是通过在指定目录中去查询xxx.pc文件,从xxx.pc文件中解析得到库对元信息。pkg-config搜索路径默认路径: 通过命令"pkg-config --variable pc_path pkg-config"获取。xxx:~$ pkg-config --variable pc_path pkg-config/usr/lib64/pkgconfig:/usr/share/pkgconfigxxx:~

2020-12-30 18:11:02 1254

原创 将一台mackbook的备忘录全部导到另一台mackbook上

前言最近换电脑(macbook air)了,需要将旧电脑(macbook pro)上到很多数据导到新的电脑上,当然备忘录也要导。由于备忘录中是平时的一些碎片化信息记录,所以很多很杂。要是通过隔空投送来导的话太麻烦,耗时也长,而且导过去后目录结构都会改变(还得重新整理,麻烦)。所以就想能不能一次性批量将旧电脑上的备忘录全部导入到新电脑中呢?答案是肯定的。方法一般有两种方法:通过icloude来导,这个方法就是通过icloude将旧电脑的数据先备份导云上,再通过新电脑从icloud云上去下载下来。这里

2020-11-23 14:05:26 8804

原创 zsh修改终端PS1的PROMPT显示

前言我们使用的linux、macOS等linux或unix系的操作系统上都有很多shell。我们常见的有bash、zsh、ksh、csh等。通常操作系统都有一个默认的shell作为用户在命令行终端操作时使用。如:bash。查看操作系统支持的shell命令如下:~ $ cat /etc/shells # List of acceptable shells for chpass(1).# Ftpd will not allow users to connect who are not using#

2020-11-22 16:22:15 4701

原创 新macbook上安装brew

参考文档:https://www.cnblogs.com/huanhao/p/installbrew.html前言最近公司刚给换了台macbook,所以相应的环境都要重新搭建。在macbook上的包管理工具最常用的是brew了。但是macbook原生系统中是不带brew命令的。那就自己安装呗。在百度上搜索brew,出现了brew的官网(https://brew.sh)。官网上有一键安装brew的脚本:/bin/bash -c "$(curl -fsSL https://raw.githubuserc

2020-11-22 12:39:30 1643

原创 MacOS上BeyondCompare无限试用的方法

在/Applications/Beyond Compare.app/Contents/MacOS/目录下的BCompare程序是BeyondCompare的可执行文件。在/Users/username/Library/Application Support/Beyond Compare/目录下的registry.dat文件是存储程序注册信息的。包括刚开始使用的时间。想要无限的使用BeyondCompare只需要在每次启动BeyondCompare时将registry.dat删除即可。具体操作如下:将

2020-11-20 21:01:12 1925 1

原创 epoll学习笔记1

简介epoll是同poll相似的,用于同时监听多个fd上的相关I/O事件。epoll相较于poll而言有边缘触发和水平触发两种事件触发模式,poll只有水平触发一种事件触发模式。事件触发模式介绍水平触发水平触发(Level-Triggered)是当被监控的fd上有可读写事件发生时,epoll_wait会通知程序去读写。如果程序在这次操作没有将数据全部读写完(可能由于缓冲区不够),那么下次调用epoll_wait时仍然会通知程序去读写,直到数据被读写完为止。优点: 开发时每次读写操作只需要读写想要的

2020-11-11 19:11:37 801

原创 poll和ppoll学习笔记

简介poll/ppoll其实是同select/pselect类似的,用于同步多路I/O复用。poll/ppoll同select/pselect的最大区别在于poll/ppoll没有最大连接数限制,因为poll/ppoll使用的用于存储fd的集合是根据实际fd的数量动态分配的。此外,poll/ppoll监听的事件类型更加的丰富/细致些。相关结构体定义struct pollfd/* Data structure describing a polling request. */struct pollf

2020-11-10 17:45:55 1740

原创 select和pselect学习笔记

简介select、pselect用于同步I/O多路复用。select、pselect允许程序同时监听多个fd,直到其中一个或多个fd上有对应的I/O操作就绪时,或超时时才返回。函数原型介绍辅助宏函数FD_CLRvoid FD_CLR(int fd, fd_set *set);从集合set中删除fdFD_ISSETint FD_ISSET(int fd, fd_set *set);判断集合set中是否已经设置了fdFD_SETvoid FD_SET(int fd, fd_set *

2020-11-10 11:15:49 1073

原创 gcc对数组初始化对扩展

背景今天研究一个问题时看linux的内核代码,偶然间发现一段有趣的代码。直接上图:从图中代码可以看出这是一个int数组,并且对该数组进行了初始化。但有意思的是本代码中数组初始化中使用了数组下标,并且还可以批量初始化。用例测试用例代码文件名称test.c内容:#include <stdio.h>#define TEST_MAX 10static int test_int_arr[TEST_MAX] = { [0 ... TEST_MAX-1] = -1, [

2020-11-06 18:00:02 699

原创 libevent学习笔记1,简介

简介libevent是一个事件驱动型的跨平台的网络通信基础库。libevent支持包括:/dev/poll、kqueue(2)、select(2)、poll(2)、epoll(4)、evports等在内的多种异步通信模型。同时,支持在Linux、 *BSD、Mac OS X、Solaris、Windows等多种类型的操作系统上编译使用。libevent遵循BSD开源协议。源码结构介绍版本libevent-release-2.1.7-rc代码目录结构xxxx$ tree.├── CMakeLi

2020-10-30 15:55:57 12388 2

原创 shell和lua之间相互调用以及数据交互

测试环境说明操作系统[xxxx@localhost lua]$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [xxxx@localhost lua]$ uname -aLinux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux[xxxx@local

2020-10-23 15:43:37 6226

原创 MacOS下基于vim搭建golang开发环境

背景去年年初换了工作,新公司给配发的是mac的笔记本(程序员用mac作为开发整的比windows好),另外由于工作的想要使用golang作为开发语言。之前一直使用LiteIDE作为golang的开发IDE,用的倒也顺手。可是最近LiteIDE不知道怎么得老是抽风,没办法进行函数/变量的跳转。这让我阅读代码时很是不爽,大大降低了我的工作效率。再加上年前去公司总部开年会时看到小组内其他成员都是用v...

2020-03-27 09:22:11 3440 3

原创 MacOS下基于vim搭建lua开发环境

背景最近项目中涉及到lua脚本的应用,而且可能会修改lua。所以必须要学习下lua,并还要有一套lua的开发环境。最近已经习惯了使用vim作为开发的IDE,现在做lua自然也想使用vim来开发lua。基础环境说明MacBook Pro一台,配置截图如下:查看vim是否支持lua终端输入"vim --version",按下Enter键。结果如下图:从图中可以看出,当前vim不支持l...

2020-03-26 23:38:20 675 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除