- 博客(303)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
原创 SHELF99,我曾经用于排查网络问题的临时小工具(附Rust源码)
客户端主机硬件平台:iMX6UL;客户端主机软件平台:嵌入式Linux。Shelf99是运行在其中的一个小软件,以虚拟精简客户端的身份与系统服务器通讯。正式客户端软件是合作方开发的QT程序,在排查之前并不能排除或确认是否有BUG。事后证明应用层没有BUG,BUG在系统层。
2024-10-15 18:27:36 222
原创 你不要乱写sleep(6)——简评华为昇腾演示代码翻车
调用栈显示,main.py调用了ret.write(),ret.write()调用了time.sleep(6)。也就是说,**`time.sleep(6)`代码是写在`ret.write()`函数内部的**。这一点我感觉很反常。正常来说,流程应该是这样的:query, sleep, write。不知道处于何种考虑,演示者似乎不想让我们看到sleep,故意把sleep隐藏到write内部。事实上如果演示过程一切正常,我们根本不知道有sleep(6)的存在;只不过因为一个意外回车才导致sleep暴露在我
2024-05-20 19:04:17 1194 2
原创 你要顺着毛撸Rust——简评LogLogGames放弃Rust游戏开发
我倒是希望大家都顺着毛撸Rust。——庄晓立(LIIGO)。其实不只是Rust,扩展到所有编程语言,所有工具,所有人,都应该顺着毛撸。顺着它设计时思路,顺着它预定的应用场景,顺着其社区最佳实践模式,更充分高效的使用它;但不强求,不强迫做它不情愿做的事,或者说不勉强做它不擅长做的事。1 + 1 > 2;1 - 1 = 0。顺着毛撸,宾主两欢;逆着鳞撸,诸事不顺。这也是我多年来总结的人生经验,大家说有没有道理呢?
2024-05-11 19:58:51 619
原创 RUST编程语言入门基础2024
Rust编程语言赋能所有人开发高可靠且高性能的软件。方式1:内联模块/// 文档 mod mod1 {// 代码 }方式2:文件模块mod mod2;//!文档 // 代码以上定义的mod1和mod2均为当前模块的子模块。// x: i32// mut变量y = 123;// 仅mut变量可以被赋值或被改变n: i32,Counter {n: 0,self.n#[test]assert_eq!assert_eq!assert_eq!Counter {
2024-05-09 18:42:52 1192
原创 正向代理和反向代理释义
对客户端而言,代理是服务端;对服务端而言,代理是客户端。无论是正向代理还是反向代理,代理总是在逻辑上位于客户端和服务端之间,充当二者通讯的媒介。代理是叫正向代理还是叫反向代理,取决于它站那一边。站客户端一边的叫正向代理,站服务端一边的叫反向代理。
2024-02-22 18:30:21 684 1
原创 Windows下执行`tar -xvf file.tar.bz2`解压bzip2文件
目标,在Rust程序里解压.tar.bz2压缩包。折腾了大半天,走了很多弯路。一是经验不足,没有及时想到合适的Shell,二是我的应用场景是在Windows系统下调用Linux命令行,难度较大。最终通过调用git-bash.exe解决了问题,并总结了经验教训。
2024-01-31 17:40:40 972 1
原创 Rust更换Cargo国内源,镜像了寂寞(更新:不再寂寞)
换了Cargo国内源,构建时该卡还会卡。因为它所谓的换源,只是更换crates.io“索引”的源,而不是package“内容”的源。更新:点赞推荐USTC源,换皮又换身。
2023-09-11 18:42:27 8759 2
原创 由编译rsync想到的,MSYS2 VS CYGWIN
本文介绍了rsync的Windows版本的编译和使用方法,辨析了Msys2/Cygwin/Mingw64之间的异同。
2023-09-03 22:21:54 831 1
原创 UDP大块数据传输测试
前一阵子我对UDP传输大块数据方面做了一些尝试,在本文中总结了一些失败的教训。对于本文所述“大块数据”,我定义为大小在数MB至数GB之间的数据块。数据可以在内存里,也可以来自文件。
2023-07-05 19:20:20 1009 1
原创 即将发布的C库STC v4.3已支持块定义风格的协程
STC新版将支持Block-style风格的协程定义。相比旧版,新版写法浑然天成,风格上更贴近C语言,摒弃了原来人为刻意构造的 cco_begin/cco_end,把返回值也从cco_end参数里拿出来,用纯粹的C语法return表达协程返回值,而且还额外支持在协程结束之前执行任意代码,这也是相对旧版的重要改进。
2023-06-20 19:49:46 725
原创 评Stroustrup评NSA说C++不是内存安全语言
Stroustrup这家伙快成杠精了,对抗全世界,估计过几年他自己先崩溃。他嘴里的静态检查工具是一个混沌体,游离于编译系统之外,鱼龙混杂,质量好点的还收费。他们对现代C++语言的改进仅限于增加新功能,并不填历史坑,该坑人的地方还是坑人,除非旧代码用新语言重写——那是人干的事吗。谷歌微软火狐等多个统计源数据显示内存安全占所有漏洞的三分之二,他过来给你扯“安全有很多种不止内存安全”,咱能不能先抓重点不要扯蛋。反观Rust对内存安全的提升是让人看得见的,无论是理论还是实践。
2023-03-06 18:12:53 501 1
原创 简评ChatGPT
LIIGO评价:ChatGPT这玩意,完全是说瞎话不带打草稿的,极度自信的说完全不着调的话。其本性有问题,态度不端正,可信度就为零。它头上挂AI的名号简直是对AI最大羞辱,它本质上是反AI。
2023-02-22 18:48:39 1240 3
原创 情人节感慨:Rust API 文档边栏 Tooltips 显示功能被删除
今天看到Rust源码仓库里这个PR在三天前被合并了,其内容是删除了Rust API文档边栏里的Tooltips显示功能,其理由是有别的地方没有Tooltips因而显得不协调(为何不再别处补上Tooltip)。我感觉删掉可惜了。
2023-02-14 20:13:26 405 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 1792 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 13570 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 4379
原创 Asciidoc 的嵌入式链接写法
多年以前,有一段时间我对 Asciidoc 很感兴趣,尝试用它起草写了一篇博客文章(为什么我说Rust是靠谱的编程语言),偏偏那是一篇很长的文章(大概有一万字),偏偏里面有大量的超级链接,大量的链接夹杂在文字中间,写的我都快吐了。当时也曾专门去找,想知道Asciidoc有没有类似Markdown的嵌入式链接写法([title][name] [name]: url),然而很遗憾,没找到(我觉得官方文...
2019-08-20 16:55:42 1857 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 4666
原创 日常随手记,记录一些琐碎的技术细节
本文用作日常随手记,平时遇到一些琐碎的技术细节就随便扔进来备查。必要时也可整理成独立博文发表。通过 _CrtSetBreakAlloc 定位内存泄漏点现象:Visual Studio 调试运行程序结束后在输出栏提示有内存泄漏,内容如下Detected memory leaks!Dumping objects ->{5481} normal block at 0x01371820,...
2018-11-29 11:11:36 1435
原创 创建局域网Git服务器
本文提供的方法适用于小型团队在局域网内通过git协同编码,基本配置简便易行,还额外提供基于SSH免密码提交代码的扩展方案。基本原理可参见文末总结。
2018-11-06 17:09:27 10727 3
原创 客户端POST提交JSON给PHP的问题
注:这是我去年写在知乎里的文章。后来要查阅,来CSDN博客里翻了底朝天都没找到,甚至一度怀疑CSDN丢文章。特此转发已备后用。另外发现在知乎的原文好像已经不能编辑了,而我又需要编辑它,这是转发至此的又一个理由。原文我前两天(当时时间是2017年1月)用易语言写一个(原以为很简单的)客户端软件,将JSON文本POST给PHP,Content-Type是application/json...
2018-08-07 17:27:33 7489 5
原创 易语言 && Visual Basic 6.0 (VB6)
有朋友曾猜测易语言是在VB6基础上二次开发或二次封装的产品。我在这里提几个思路可用于协助否定该猜测。VB6编译的程序在Windows 95系统内运行需要VB6运行库(MSVBVM60.dll直到Win98才被操作系统内置),而易语言编译的程序不需要该运行库。易语言支持通过置入代码向目标编译程序输出x86机器码,而VB6没有类似的功能。易语言支持静态编译EXE和DLL(非普通的打包然后...
2018-06-13 17:18:51 5428 2
原创 对几个汇编编译器的初步评价(MASM/FASM/NASM/GOASM)
MASM: 微软经典产品,仅支持Windows平台,唯一完美支持按需编译的编译器1,不支持输出bin格式。非绿色软件,受版权限制不能二次发行(SASM二次发行了多个汇编编译器唯独没有MASM)。NASM: 一直在持续更新的经典产品,跨平台,支持多种输出格式(bin/coff/omf/elf/…)。有不少衍生品如YASM,可惜还不如本尊命长。FASM: 还在更新,跨平台,支持多种输出格式(包括...
2018-06-13 16:26:23 20959 1
原创 Rust编程语言2018年路线图
Rust编程语言2018年路线图3月12日,Rust官方博客正式发布了Rust’s 2018 roadmap。 该路线图是在广泛征求社区主流意见的基础上制定的,其内容充实且务实。它的发布令社区大多数人感到振奋。据我个人总结,该路线图主要包含以下三点:将发布一个具有里程碑意义的重要版本(Edition 2018)语言、标准库、编译器、文档等将有重要改进致力于在网络、嵌入式、Web...
2018-03-19 21:18:16 4695
原创 给火山安卓软件开发平台娃娃#2版提点意见
火山安卓开发平台”娃娃#2”版于2017年8月3日发布,作者吴涛。我针对此测试版本给作者提了一点意见和建议,并得到吴总答复。征得吴总同意后连同意见和回复一并发布。文中以红色文字突出标示吴总回复文本。 火山软件开发平台(voldev.net):是一种目的硬件设备无关、目的软件环境无关、易学易用实用、完全本地化的软件快速开发平台。
2017-09-13 13:33:03 10537 5
原创 莫名其妙的 C# HttpWebRequest.GetResponse() 超时错误
作者:Liigo 日期:20170303 原创链接: 著作权归作者Liigo所有。商业转载请联系作者获得授权,非商业转载请注明出处。现象现象:GET请求 “特定URL” 时超时,无法获取Response响应。代码阻塞在HttpWebRequest.GetResponse()里面。注意是在访问 “特定URL” 时才超时,访问其他URL是正常的。例如,访问 http://hello.com/?pa
2017-03-03 18:03:24 23484 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 8170 3
原创 Rust 1.0发布一周年,发展回顾与总结
本文为InfoQ中文站特供稿件。原文发表于2016年6月17日,40日后根据之前约定将其全文转发到我(Liigo)个人博客里。此文创作于今年5月份(5月初至6月初),过程颇为周折,没赶上Rust 1.0纪念日,可谓姗姗来迟也。笔者尝试从多个方面总结过去一年来Rust领域的重要动作、进度和成就。
2016-07-27 22:51:23 9038 1
原创 QCon2016演讲《Rust语言的核心竞争力》总结和补充
应 QCon北京2016|全球软件开发大会 主编臧秀涛邀请,我(Liigo)于2016年4月23日在大会上做主题演讲《Rust编程语言的核心优势和核心竞争力》(PDF演讲稿)。由于是初次登台,现场表现不佳,个人不是很满意。故做本文对此次演讲进行总结和补充。核心三要素:系统编程,零运行时,内存安全我把Rust编程语言的核心优势和核心竞争力概括为三个要素:系统编程,零运行时,内存安全。在强调底层控制的系
2016-04-27 00:15:29 15581 5
原创 InfoQ中文站特供稿件:Rust编程语言的核心部件
本文为InfoQ中文站特供稿件,如需转载,请与InfoQ中文站联系。原文发表于2015年12月22日,现根据之前约定将其全文转发到我(Liigo)个人博客里。Rust是一门强调安全、并发、高效的系统编程语言。无GC实现内存安全机制、无数据竞争的并发机制、无运行时开销的抽象机制,是Rust独特的优越特性。
2015-12-26 19:08:29 5125
原创 Laravel 5.1 源码阅读笔记
Laravel 5.1 源码阅读笔记,主要涉及入口文件、Kernel、Application、Pipeline、Middleware、Router、Request、Response、Bootstrap等等。
2015-11-05 18:04:42 11179 2
转载 CSDN首页刊发对我的专访:我为什么要选择Rust?
今年(2015年)6月30日,CSDN网站首页刊发了美女编辑夏梦竹对我(Liigo)的专访文章,题目是《专访资深程序员庄晓立:我为什么要选择Rust?》。CSDN首页转发我的博客文章曾有许多次,但大多都是纯文字链接,这次在首页版面最突出位置悬挂题图和摘要,无疑是最隆重的一次。在这篇专访中,我简明扼要的介绍了Rust编程语言的核心特性和独特优势,并分享了我选择Rust这门语言的主要原因。
2015-10-04 20:41:00 7317 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 18259 2
原创 ThinkPHP 3.2 + PostgreSQL 9.4 的错误及解决办法
现象在ThinkPHP Controller里一个简单的M('user')调用就会出错。排除了数据库配置方面的原因。有多个网友详细的描述了这个错误现象,我遇到的错误跟他们是一样的。
2015-09-12 18:08:57 6620 3
原创 关于Servo项目中Rust代码行数的数据来源
在我两个月之前的一篇博客《为什么我说Rust是靠谱的编程语言》(以下简称原文),在其中“6. 两个半大型成功案例”一节,我曾经写道:Servo: 下一代浏览器渲染引擎(类Webkit/Blink),超过40万行Rust代码;rustc+std: Rust编译器和标准库,超过35万行Rust代码。提供了两大项目的源代码行数,却没有明确提供数据来源。本文做补充说明。
2015-07-28 12:33:37 5232 2
DBGridEh实测手册(v6.2).doc
2016-07-08
liigo自产自销的闹钟程序源代码
2010-10-18
在静态库LIB/OBJ文件中搜索定位病毒特征码所属函数
2010-07-12
一个很简单的仅供测试用的ISAPI扩展DLL
2010-06-08
DXUTBlendColor::Blend()实现GUI组件动态效果的分析程序
2010-04-26
易语言5.0解决病毒误报情况分析测试报告[PDF]
2010-02-07
批量转换10进制数值到16进制的易语言源代码
2009-08-30
修改后的M8模拟器皮肤(缩小版)
2009-05-02
sqlite3.c 去注释版 (sqlite 3.6.6.2) - 已移除 UTF-8 BOM
2008-12-11
sqlite3.c 去注释版 (sqlite 3.6.6.2)
2008-12-10
英文关键字支持库,使用EXEK开发的易语言支持库
2008-11-02
易写易库(EXEK)用户手册 v0.2
2008-11-01
命令有图标支持库,使用EXEK开发的易语言支持库
2008-10-02
命令有图标支持库,使用EXEK开发的易语言支持库
2008-09-28
Stanley博士的家
2008-05-03
No module named 'pip._vendor.urllib3'
2021-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人