2017-03-23 ruki
概述 此版本主要增强了vs201x工程的生成,以及支持vs2017编译环境,并且针对archlinux提供更加方便的aur安装。 项目主页 查看文档 详细更新内容如下: 新特性 添加aur打包脚本,并支持用yaourt包管理器进行安装。 添加set_basename接口,便于定制化修改生成后的目标文件名 改进 支持vs2017编译环境 支持编译android版本的rust程序 增强vs201x工程生成插件,支持同时多模式、架构编译 Bugs修复 修复编译android程序,找不到系统头文件问题 修复检测选项行为不正确问题 #57: 修复代码文件权限到0644 构建演示 继续阅读 »
2016-08-02 ruki
tbox里面针对三个正则库(pcre/pcre2/posix)进行了封装,实现接口统一和跨平台处理,只要xmake在编译配置的时候自动检测到其中一种库,就可以使用了,一般会优先使用pcre2。 如果你不想过多的依赖第三方库,可以切换到posix的正则,调用 xmake f --pcre=false --pcre2=false 把pcre的库禁用了就行了。 首先给个最简单的匹配单个子串的例子: ```c // 执行简单匹配,第二个参数是匹配模式,默认传0就行了 tb_vector_ref_t results = tb_regex_match_done_simple("(\w+)\s+?(\w+)", 0, "he 继续阅读 »
2016-02-05 ruki
新特性 自动检测所有系统libc接口,优先使用系统版本 支持自定义内存分配器,并且能够在debug模式下,获取每次分配的代码位置信息,用于自定义追踪 增加轻量级static_pool来维护整块buffer的内存分配,适合局部管理部分内存,pool虽然也能维护,但是底层基于large_pool,比较重量级,适合全局管理内存 增加stream快速读取全部数据到string的接口 增加adler32 hash算法 增加tb_memmem接口 采用pcre/pcre2/posix regex实现正则表达式库 改进 优化stream,支持对字符设备文件的读写 修改tb_init接口,增加allocator自定义内存分配器参数,实现用户的侵 继续阅读 »
2016-06-07 Lu Huang
本节实现的是读取视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象,指向文件 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy 创建视频对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture("../test.avi") 逐帧显示实现视频播放 在while循环中,利用视频对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。 pyt 继续阅读 »
2016-06-29 LEo
今天谈谈“层”这个字,如果要让我在计算机科学中挑选一个最神奇的字,我会选择“层”字,因为生活中随处可见使用“层”的例子。 先从我们身边的电脑说起,电脑就是一个典型的层次化产品的例子。从下往上看,第一层是看得见摸得着的硬件,比如CPU、内存条和硬盘等,第二层是BIOS(Basic Input Output System),即基本输入输出系统,主要作用是检测硬件和引导操作系统,第三层就是操作系统,比如Windows、Linux和Mac等,第四层就是我们常用的软件比如微信、QQ和浏览器等,这样做有什么好处呢?其实最主要的目的就是为了简单方便。你可以想象下如果使用QQ需要特定的硬件、特定的BIOS和特定的操作系统,那估计就没几个人使用了。 继续阅读 »
2016-02-04 ruki
默认编译出来的tbox库,支持的功能比较全,带有所有模块,并且支持ssl(依赖polarssl/openssl)、gzip(依赖zlib)、database(依赖sqlite3/mysql)。 因此生成的库文件偏大,而且会依赖三个第三方库,如果你用不到上述三个模块,完全可以自己配置编译所需要的模块,减小生成库的大小。 新版采用xmake进行构建,裁剪模块已经是相当方便了,默认情况下回去自动检测依赖的第三方库进行编译。 如果要禁用某个第三方库或者模块,只要执行xmake f --xxxx=false就行了,所有第三方库依赖都是可选,完全可以禁用。。 例如,禁用所有第三方库支持: bash xmake f --pola 继续阅读 »
2016-07-30 曹强
创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决对象识别问题,所有对象都仅是Object的实例 ``` function createPerson(name,age,job) { var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o; } var person1=createPerson("Jack",29,"Engineer"); //检测对象类型 继续阅读 »
2020-07-24 Robin Wen
文/Robin 今天给大家推荐一款软件,名叫「Macs Fan Control」。它是做什么用的呢? Macs Fan Control 是一款好用的 Mac 硬件温度监控软件,使用该软件可以有效地检测电脑中每个硬件的实时温度,并拥有控制风扇转速、调节系统启动的特色,可以有效地解决电脑部分硬件温度过高的问题,可以有效地保护电脑硬件安全,提高使用寿命。 Macs Fan Control 界面长这样。 Macs Fan Control 可以在 Mac 和 Windows 下运行,本身是免费的,Pro 版本支持自定义 fan presets。 至于笔者为什么要用呢?主要是今年维修 MacBook,真是一个麻烦的事情。有过维 继续阅读 »
2014-10-28 Lingxian Kong
原作者:kiwik 直接使用ISO镜像和没有ephemeral卷的规格创建虚拟机,创建成功,但是安装OS到写分区表的步骤失败,检测不到可用的disk device。 直接使用ISO镜像和有ephemeral卷的规格创建虚拟机,创建成功,安装OS成功,但是最后安装完成,OS提示弹出cdrom后重启,OpenStack没有弹出cdrom的接口,重启后,再次进入安装OS的界面。 直接使用ISO镜像和有ephemeral卷的规格创建虚拟机,创建成功,安装OS成功,然后通过nova image-create导出镜像成功,用这个镜像再次创建虚拟机,虚拟机启动后进入安装OS的界面。 通过qemu-img convert命令将iso格 继续阅读 »
2015-02-26 刘太华
上段时间组内解决的一个奇葩内存泄露问题, 找到最终原因时发现真是奇坑无比的一个原因. 一开始怀疑某个逻辑会导致dict引用数一直增加, 或是其他对象始终不释放, 导致内存一直在涨, 期间开启gc collect也没用. 使用memory grapher 等内存泄露工具检测, 打印出一段时间对象的增长量, dict, list等数据结构的增长量, 从打印信息看虽然有一定问题, 但是确实不可能会导致那么严重的内存泄露, 我们某个游戏服有时甚至会突然从300MB进程内存, 很快就上涨到3GB. 继续阅读 »