自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Liigo's blog

当我沉默着的时候,我觉得充实;我将开口,同时感到空虚……

  • 博客(288)
  • 资源 (19)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用gdb远程调试开发板内程序

使用gdb远程调试开发板内程序背景,开发主机是x86-64平台的Linux系统,开发板是ARM平台的Linux系统。1. 安装gdb-multiarch作为gdb客户端apt install gdb-multiarch2. 编译可在开发板内运行的gdbserver作为gdb服务端下载gdbserver v7.12源代码,并使用交叉编译工具链编译:cd gdb-7.12/gdb/gdbserver./configure --host=arm-linux --target=arm-linuxma

2021-10-15 18:30:57 585 2

原创 关于 Golang 2.0 的泛型

今天看到HN的一篇关于 Go2 Generics 的讨论。有网友说到:Ken Thompson and Rob Pike are mostly out not at all involved with Go anymore. They are 2/3 of the original creators. It’s different people making the decisions now...

2020-02-19 18:53:21 12924 7

原创 无锁环形缓冲区队列 kfifo

kfifo的移植两个月前,我花了两天时间,查找Linux内核里kfifo的相关资料,将其从内核层移植到应用层,并成功应用于多线程CAN总线采集程序(一个线程接收/一个线程输出)。kfifo.c是从Linux 5.3 stable内核代码里复制出来的,路径是lib/kfifo,对应的kfifo.h路径是include/linux/kfifo.h。由于kfifo是内核里的代码,应用层无法直接使用,我...

2019-09-18 18:56:46 2638

原创 Asciidoc 的嵌入式链接写法

多年以前,有一段时间我对 Asciidoc 很感兴趣,尝试用它起草写了一篇博客文章(为什么我说Rust是靠谱的编程语言),偏偏那是一篇很长的文章(大概有一万字),偏偏里面有大量的超级链接,大量的链接夹杂在文字中间,写的我都快吐了。当时也曾专门去找,想知道Asciidoc有没有类似Markdown的嵌入式链接写法([title][name] [name]: url),然而很遗憾,没找到(我觉得官方文...

2019-08-20 16:55:42 1218 1

原创 2019年的“Rust 2018”才是我的菜

去年底,2018年12月7日,Rust编程语言发布了 Edition 2018 版本(习惯上也称为Rust 2018)。当时我原本计划要写点什么,因为一些事情耽误了,现在补上。我(Liigo)跟Rust语言还是很有缘分的。我第一次接触Rust那一年,与我和老婆结婚是同一年。Rust 2018发布那一天,与我小女儿诞生是同一天。五年来,我持续关注着Rust,不曾离开。说回Rust 2018,它赶...

2019-01-18 10:39:37 4273

原创 日常随手记,记录一些琐碎的技术细节

本文用作日常随手记,平时遇到一些琐碎的技术细节就随便扔进来备查。必要时也可整理成独立博文发表。通过 _CrtSetBreakAlloc 定位内存泄漏点现象:Visual Studio 调试运行程序结束后在输出栏提示有内存泄漏,内容如下Detected memory leaks!Dumping objects ->{5481} normal block at 0x01371820,...

2018-11-29 11:11:36 1146

原创 创建局域网Git服务器

本文提供的方法适用于小型团队在局域网内通过git协同编码,基本配置简便易行,还额外提供基于SSH免密码提交代码的扩展方案。基本原理可参见文末总结。

2018-11-06 17:09:27 7623 3

原创 客户端POST提交JSON给PHP的问题

注:这是我去年写在知乎里的文章。后来要查阅,来CSDN博客里翻了底朝天都没找到,甚至一度怀疑CSDN丢文章。特此转发已备后用。另外发现在知乎的原文好像已经不能编辑了,而我又需要编辑它,这是转发至此的又一个理由。原文我前两天(当时时间是2017年1月)用易语言写一个(原以为很简单的)客户端软件,将JSON文本POST给PHP,Content-Type是application/json...

2018-08-07 17:27:33 6789 5

原创 再议易语言静态编译重定位数目过多

有关易语言“静态编译的EXE重定位项不能多于65535个”问题,提供详细的分析和应对办法。

2018-06-22 18:17:40 2613 3

原创 易语言 && Visual Basic 6.0 (VB6)

有朋友曾猜测易语言是在VB6基础上二次开发或二次封装的产品。我在这里提几个思路可用于协助否定该猜测。VB6编译的程序在Windows 95系统内运行需要VB6运行库(MSVBVM60.dll直到Win98才被操作系统内置),而易语言编译的程序不需要该运行库。易语言支持通过置入代码向目标编译程序输出x86机器码,而VB6没有类似的功能。易语言支持静态编译EXE和DLL(非普通的打包然后...

2018-06-13 17:18:51 4463 2

原创 对几个汇编编译器的初步评价(MASM/FASM/NASM/GOASM)

MASM: 微软经典产品,仅支持Windows平台,唯一完美支持按需编译的编译器1,不支持输出bin格式。非绿色软件,受版权限制不能二次发行(SASM二次发行了多个汇编编译器唯独没有MASM)。NASM: 一直在持续更新的经典产品,跨平台,支持多种输出格式(bin/coff/omf/elf/…)。有不少衍生品如YASM,可惜还不如本尊命长。FASM: 还在更新,跨平台,支持多种输出格式(包括...

2018-06-13 16:26:23 16478 1

原创 Rust编程语言2018年路线图

Rust编程语言2018年路线图3月12日,Rust官方博客正式发布了Rust’s 2018 roadmap。 该路线图是在广泛征求社区主流意见的基础上制定的,其内容充实且务实。它的发布令社区大多数人感到振奋。据我个人总结,该路线图主要包含以下三点:将发布一个具有里程碑意义的重要版本(Edition 2018)语言、标准库、编译器、文档等将有重要改进致力于在网络、嵌入式、Web...

2018-03-19 21:18:16 4413

原创 给火山安卓软件开发平台娃娃#2版提点意见

火山安卓开发平台”娃娃#2”版于2017年8月3日发布,作者吴涛。我针对此测试版本给作者提了一点意见和建议,并得到吴总答复。征得吴总同意后连同意见和回复一并发布。文中以红色文字突出标示吴总回复文本。 火山软件开发平台(voldev.net):是一种目的硬件设备无关、目的软件环境无关、易学易用实用、完全本地化的软件快速开发平台。

2017-09-13 13:33:03 9661 5

原创 莫名其妙的 C# HttpWebRequest.GetResponse() 超时错误

作者:Liigo 日期:20170303 原创链接: 著作权归作者Liigo所有。商业转载请联系作者获得授权,非商业转载请注明出处。现象现象:GET请求 “特定URL” 时超时,无法获取Response响应。代码阻塞在HttpWebRequest.GetResponse()里面。注意是在访问 “特定URL” 时才超时,访问其他URL是正常的。例如,访问 http://hello.com/?pa

2017-03-03 18:03:24 21430 3

原创 UCRT: VC 2015 Universal CRT, by Microsoft

经Liigo本人测试,在XP SP3系统内,VC2015编译的EXE/DLL除了依赖以上目录内的(几乎)所有dll以外,还额外依赖`vcruntime140.dll`。前面提到的这些dll,共计42个,统统放到EXE/DLL所在目录,可确保所有依赖项都不欠缺。

2016-11-14 17:18:57 7742 3

原创 放弃有道词典和有道云笔记

放弃有道词典(移动版)和有道云笔记

2016-11-11 17:33:26 11484 2

原创 Rust 1.0发布一周年,发展回顾与总结

本文为InfoQ中文站特供稿件。原文发表于2016年6月17日,40日后根据之前约定将其全文转发到我(Liigo)个人博客里。此文创作于今年5月份(5月初至6月初),过程颇为周折,没赶上Rust 1.0纪念日,可谓姗姗来迟也。笔者尝试从多个方面总结过去一年来Rust领域的重要动作、进度和成就。

2016-07-27 22:51:23 8284 1

原创 QCon2016演讲《Rust语言的核心竞争力》总结和补充

应 QCon北京2016|全球软件开发大会 主编臧秀涛邀请,我(Liigo)于2016年4月23日在大会上做主题演讲《Rust编程语言的核心优势和核心竞争力》(PDF演讲稿)。由于是初次登台,现场表现不佳,个人不是很满意。故做本文对此次演讲进行总结和补充。核心三要素:系统编程,零运行时,内存安全我把Rust编程语言的核心优势和核心竞争力概括为三个要素:系统编程,零运行时,内存安全。在强调底层控制的系

2016-04-27 00:15:29 15335 5

原创 InfoQ中文站特供稿件:Rust编程语言的核心部件

本文为InfoQ中文站特供稿件,如需转载,请与InfoQ中文站联系。原文发表于2015年12月22日,现根据之前约定将其全文转发到我(Liigo)个人博客里。Rust是一门强调安全、并发、高效的系统编程语言。无GC实现内存安全机制、无数据竞争的并发机制、无运行时开销的抽象机制,是Rust独特的优越特性。

2015-12-26 19:08:29 4879

原创 Laravel 5.1 源码阅读笔记

Laravel 5.1 源码阅读笔记,主要涉及入口文件、Kernel、Application、Pipeline、Middleware、Router、Request、Response、Bootstrap等等。

2015-11-05 18:04:42 10934 2

转载 CSDN首页刊发对我的专访:我为什么要选择Rust?

今年(2015年)6月30日,CSDN网站首页刊发了美女编辑夏梦竹对我(Liigo)的专访文章,题目是《专访资深程序员庄晓立:我为什么要选择Rust?》。CSDN首页转发我的博客文章曾有许多次,但大多都是纯文字链接,这次在首页版面最突出位置悬挂题图和摘要,无疑是最隆重的一次。在这篇专访中,我简明扼要的介绍了Rust编程语言的核心特性和独特优势,并分享了我选择Rust这门语言的主要原因。

2015-10-04 20:41:00 6918 4

原创 在 Zend Studio 12.5 里下断点调试运行 PHP 源代码

本文解决如下问题:在Zend Studio里面下断点然后调试运行(Debug As PHP Web Application),却发现网站正常跑起来了,断点根本就没生效。断点不生效,主要原因是调试器没有配置好。其实Zend Studio已经自带了ZendDebugger调试器,并且已经跟内置的PHP CLI环境集成好了。但是要调试我们自己安装的Web server + PHP程序,还得做额外的配置工作

2015-09-17 16:04:07 18074 2

原创 ThinkPHP 3.2 + PostgreSQL 9.4 的错误及解决办法

现象在ThinkPHP Controller里一个简单的M('user')调用就会出错。排除了数据库配置方面的原因。有多个网友详细的描述了这个错误现象,我遇到的错误跟他们是一样的。

2015-09-12 18:08:57 6371 3

原创 安装配置PHP 5.6 + Nginx 1.8

安装配置 PHP 5.6 + Nginx 1.8

2015-09-12 11:24:59 11341

原创 关于Servo项目中Rust代码行数的数据来源

在我两个月之前的一篇博客《为什么我说Rust是靠谱的编程语言》(以下简称原文),在其中“6. 两个半大型成功案例”一节,我曾经写道:Servo: 下一代浏览器渲染引擎(类Webkit/Blink),超过40万行Rust代码;rustc+std: Rust编译器和标准库,超过35万行Rust代码。提供了两大项目的源代码行数,却没有明确提供数据来源。本文做补充说明。

2015-07-28 12:33:37 4950 2

翻译 锈永不磨灭,让末日来得更酷!

本文翻译自ReadWrite.com上刊登的Matt Asay的一篇文章,Rust Never Sleeps: How Mozilla Could Become Cool Again,副标题是“Mozilla has almost faded from memory, but Rust could make it hip again”。

2015-07-14 19:15:38 4927 3

原创 我持续推动Rust语言支持Windows XP系统

前言Rust好像长期以来不支持Windows XP系统。有不少用户发帖提议官方支持XP,基本上都被Rust官方开发者明确的拒绝了。他们的对话大致上是以这样的形式开始和结束的(其中乙方代表官方及其拥趸)……

2015-07-02 19:46:16 9335 10

原创 Rust编程语言发布1.1稳定版

Rust编程语言官方博客今日刊文发布Rust 1.1稳定版,同时发布的还有1.2测试版,以及社区领导小组(Community Subteam)。相关信息编译如下(非直接翻译原文)。Rust 1.1 稳定版 更新内容编译速度相对于1.0版本提升了32%。编译器提示信息更加完善,参数 --explain 可提供更多编译错误类型的详解模块 std::fs 中新增了一批稳定版API(参见PR #10...

2015-06-26 13:38:08 420

原创 为什么我说Rust是靠谱的编程语言

序言:本文试图帮您解答“我要不要(投入大量时间和精力)学习Rust语言?”这个问题。作者尽量较少的谈及Rust语言本身,反而尝试从Rust语言周边入手,长时间、大范围、多角度地考察,研判Rust语言是否靠谱,并给出尽可能客观的理由。为写成本文,作者Liigo不惜“卧底”Rust“老巢”长达一年多,收集整理总结了大量信息。如果嫌长,可以只看小标题,粗略浏览一番。2016年2月22日修订和增补此文。

2015-05-16 02:59:21 127834 110

原创 借助动态代码生成技术在基于Webkit引擎的HTML5网页JS内调用易语言函数

前两天我协助朋友解决了一个技术问题,在此稍作记录和总结。具体来说,就是在使用基于Webkit引擎的封装组件wke的过程中,需要把一个易语言函数注册给JavaScript引擎,让它可以在网页里被调用(就像在网页里调用普通JavaScript函数一样)。如果能做到这一点,就基本实现了从JavaScript传递参数到易语言、易语言返回值给JavaScript的双向沟通机制,以后有广泛的应用空间。最终,我借助动态生成代码技术,纯手工书写了几行X86机器指令,人肉编译形成一个fastcall调用约定的回调函数,传递给

2015-03-03 23:25:19 14979 14

原创 Rust社区一员干将Daniel Micay在失望中离开

Rust社区一员干将Daniel Micay在失望中离开。他走的很坚决,他说:“我没兴趣再花时间玩Rust了”("I'm not interested in investing any more time in Rust")。至于他离开的原因,似乎并没有明确的说法。我分析并猜测认为,他在有关Rust语言的系统设计方面,与Rust核心开发人员有较多的不可调和的分歧,而这些分歧逐步积累下来,令他产生了失望的心态,并与日俱增,最终导致萌生退意。

2015-01-28 23:59:23 8116 4

原创 静态编译的EXE重定位项不能多于65535个

去年(2014年)9月份,我收到来自网友的错误报告,说易语言代码行数超过4万,静态编译的EXE启动时异常崩溃。我(Liigo)当时仔细检查了易语言5.x静态编译相关的源代码,分析后得出初步结论:整个易程序就一个代码段(.text),编译成OBJ也位于一个Section内,而其中最多只能有65536个重定位项(WORD NumberOfRelocations)。

2015-01-08 22:46:06 4727 3

原创 易语言VS杀毒软件:基情复燃,转受为攻!

这两天在编程领域里,又发生了一件令人瞩目的事情:以易语言创始人吴涛的一篇檄文《让我们一起来对360误报说不!》为序幕,再次拉开了易语言跟360杀毒软件之间的基情争斗。数百万易语言用户群起响应,为自己的权利而斗争,——生存的权利。易语言和杀毒软件往年那些恩怨情仇,势必要在今后这些日子里,重新清算一遍。

2014-10-07 22:41:00 11585 30

原创 MIPS平台OpenWrt路由器系统内的Rust应用程序开发

使用 Rust 语言,交叉编译开发 MIPS(el) + OpenWrt 路由器平台(MT7620A CPU)下的应用软件。

2014-09-17 21:41:44 13132 4

原创 如何开始为Rust项目贡献源代码

Start contributing to #rustlang 1. Fork it at https://github.com/mozilla/rust2. Git clone your fork: git clone https://github.com/liigo/rust.git3. Config remote upstream: git remote add upst

2014-09-14 20:08:44 5776

原创 基于libuv的最精简Web服务器:tinyweb v1 v2 v3 (C语言源码)

一年之前,我发表过一篇博客《》

2014-08-07 21:07:27 12456 6

原创 移植 libuv 到 Visual C++ 6.0 并支持在 Windows XP 系统下编译

我从一年前(大概2013年6,7月份)开始在业余时间做这项移植工作,走走停停,陆续用了一两个月的时间,才基本完成。这期间做了详细的移植记录,现在发布出来,希望对某些人有用。就在昨天(2014年7月12日),我又把移植的代码同步到最新的libuv并发布到Github上;但是之前的移植记录没有变更,或许在一定程度上已经部分失效了。

2014-07-13 14:39:26 6825 1

原创 我为什么放弃Go语言

我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

2014-04-14 19:24:19 514242 736

翻译 Rust运行时指南(官方文档翻译)

Rust运行时指南,译自Rust官方文档。Rust编程语言的标准发行版包含两个运行时库(libgreen和libnative),提供I/O等基础设施的统一接口。

2014-02-15 19:34:38 15222 12

原创 自己写一个安卓手机软件计算煮饭时间

最近这些日子,经常需要每天晚上在电饭锅上设置定时煮饭,以备第二天早上的早餐。但是计算倒计时时间是一件讨厌并且费脑子的事情。于是我趁今天周末写了这么一个Android手机软件,还开放源代码了。“煮饭时间”——一个很简单的计算煮饭时间的Android手机软件,作者Liigo。项目首页:https://github.com/liigo/cooktime

2014-01-11 20:58:36 6393 4

DBGridEh实测手册(v6.2).doc

DBGridEh 6.2 属性中文介绍,还配有大量图片展示运行效果,简直不能更赞。 比网上到处抄的别的版本(DBGridEh的用法)更新更好更简明。

2016-07-08

liigo自产自销的闹钟程序源代码

手机忘在办公室了,用易语言写一个程序,明天准时叫我起床,岂不很好?详见:http://blog.csdn.net/liigo/archive/2008/04/16/2298711.aspx

2010-10-18

在静态库LIB/OBJ文件中搜索定位病毒特征码所属函数

详见: http://blog.csdn.net/liigo/archive/2010/07/12/5727859.aspx

2010-07-12

一个很简单的仅供测试用的ISAPI扩展DLL

一个很简单的仅供测试用的ISAPI扩展DLL,它只输出“hello ISAPI”、GET请求文本(query-string),和当前服务器时间。附易语言源代码。详见:http://blog.csdn.net/liigo/archive/2010/06/08/5654824.aspx

2010-06-08

DXUTBlendColor::Blend()实现GUI组件动态效果的分析程序

通过这个易语言编写的分析程序,研究 fRate 对于Blend动态效果的具体影响,并以曲线图的形式直观的展现出来。下载包中含可执行程序、易语言源代码,以及相关图片。详见:http://blog.csdn.net/liigo/archive/2010/04/26/5530942.aspx

2010-04-26

易语言5.0解决病毒误报情况分析测试报告[PDF]

易语言“非主流”,杀毒软件“躲猫猫”。长期以来,易语言4.x版本编译生成的可执行程序(EXE)和动态链接库(DLL),经常被国内外多家杀毒软件“误报为病毒或木马”,给使用易语言开发软件产品的广大开发者及其用户带来无尽烦恼,进而严重影响了易语言的发展;另一方面,易语言5.0(静态编译版本)也以全新推出,的其中一个重要目标就是“解决病毒误报”。本文将就此进行相关分析和测试。详见:http://blog.csdn.net/liigo/archive/2010/02/06/5295420.aspx

2010-02-07

批量转换10进制数值到16进制的易语言源代码

易语言源代码,批量转换10进制数值到16进制。可用于辅助分析易语言“置入代码”,详见此篇末尾:http://blog.csdn.net/liigo/archive/2009/08/30/4499138.aspx

2009-08-30

修改后的M8模拟器皮肤(缩小版)

经过本人修改后的M8模拟器皮肤(缩小版),修改后的图片尺寸为554x861,用于在屏幕分辨率纵向高于880的电脑上使用(在1024x768分辨率下还是显示不完整)。压缩包中有使用说明。具体的修改方式可参见:http://blog.csdn.net/liigo/archive/2009/05/02/4143373.aspx

2009-05-02

sqlite3.c 去注释版 (sqlite 3.6.6.2) - 已移除 UTF-8 BOM

解决不能在VC6/VC2005下跟踪调试sqlite3.c的问题,详见:http://blog.csdn.net/liigo/archive/2008/12/10/3492094.aspx。 去除了前一次上传的资源中的UTF-8的BOM,可以在VC6中直接使用。

2008-12-11

sqlite3.c 去注释版 (sqlite 3.6.6.2)

解决不能在VC6/VC2005下跟踪调试sqlite3.c的问题,详见:http://blog.csdn.net/liigo/archive/2008/12/10/3492094.aspx

2008-12-10

英文关键字支持库,使用EXEK开发的易语言支持库

英文关键字支持库,为易语言提供 if switch while for continue break return 等英文形式的流程控制语句,其功能和用法与易语言核心库中相关命令完全等同。使用本支持库编写的易语言程序,运行时不需要依赖本支持库文件。使用“易写易库(EXEK)”开发,作者liigo。此支持库已经过“斩月”处理,可在易语言3.x和4.x版本中使用(实际测试过的版本有3.0, 3.8, 4.11)。易3.x下请使用全大写英文字母输入。只为博君一笑,请慎重使用,后果自负。http://blog.csdn.net/liigo/archive/2008/10/15/3081232.aspx

2008-11-02

易写易库(EXEK)用户手册 v0.2

易写易库(EXEK)用户手册,版本0.2,2008.10.31,PDF格式。主要内容:介绍使用易语言模块“易写易库(EXEK)”开发易语言支持库。更多信息:http://blog.csdn.net/liigo/category/445859.aspx

2008-11-01

命令有图标支持库,使用EXEK开发的易语言支持库

  这是一个使用易语言模块“易写易库(EXEK)”开发的易语言支持库,可用于易语言3.x和4.x,作者liigo。   命令有图标支持库,顾名思义,其中有两个命令有图标(其中第一个命令有动态图标),第一个命令的两个参数也有图标(其中第一个参数有动态图标),三个命令分类也各有自定义图标。在易语言3.x版本中,支持库列表中命令前面将显示命令图标,代码编辑区的命令前面将显示动态图标(如果有,且为光标所在行),参数前面将显示动态图标(如果有,且为光标所在行);在易语言4.x版本中,代码编辑区不再显示命令或参数图标,仅在支持库列表中显示图标。

2008-10-02

命令有图标支持库,使用EXEK开发的易语言支持库

  这是一个使用易语言模块“易写易库(EXEK)”开发的易语言支持库,可在易语言3.x和4.x中使用,作者liigo。   命令有图标支持库,顾名思义,其中有两个命令有图标(其中第一个命令有动态图标),第一个命令的两个参数也有图标(其中第一个参数有动态图标),三个命令分类也各有自定义图标。在易语言3.x版本中,支持库列表中命令前面将显示命令图标,代码编辑区的命令前面将显示动态图标(如果有,且为光标所在行),参数前面将显示动态图标(如果有,且为光标所在行);在易语言4.x版本中,代码编辑区不再显示命令或参数图标,仅在支持库列表中显示图标。

2008-09-28

易写易库(EXEK)开发手册 v0.1

主要介绍如何在易语言中使用“易写易库(EXEK)”模块开发易语言支持库。

2008-08-26

Stanley博士的家

“Stanley博士的家”是一个策略类FLASH游戏,难度很高,很有挑战性,非常有意思。主要内容是,你(一个侦探)应邀Stanley博士的家,找到所有的工具,最终解开谜团。

2008-05-03

跟我一起写Makefile

Makefile教科书,分门别类,非常详细,绝对精品,想研究Makefile的一定要拜读。作者陈皓。

2008-01-28

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

TA关注的人

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