自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (4)
  • 收藏
  • 关注

原创 clisp 之 JSON解析 V2

简单实现json字符串 解析为lisp 对象。

2022-06-03 21:55:17 178

原创 关于rustc的一点看法

首先,我不是一个rustc的熟手,也就2018年才开始接触,最近两周系统了了解了一下基础语法。其次,我对编程语言没有什么偏执的热爱,没有fk只挑适合自己的用,不适合自己的

2021-06-13 23:03:10 477 1

原创 2020年心得

细数这一年,算了吧,没有记笔记的习惯,细数不来,大要概盘算一下吧。收获有哪些?1、提前还了3万房贷,负债减少了。不过这是一个错误的决策——当前的利率环境下,提前还款不划算。2、考下了软考系统分析师。完成了大学时代的夙愿;进一步丰富了软件理论知识。3、通过报表系统的完善,理清楚了许多资管业务细节知识。4、升级了中债系统的采集程序(中债升级,前采集程序失效)。小伙伴们又可以高效的进行银行间交易了。5、结合日常业务,完善调度系统。基于clisp开发,加深了对lisp的工作方式,开发调试技巧

2021-02-11 12:47:31 225 1

原创 新年快乐

首次在外过春节,祝福爸爸妈妈,亲朋好友新年快乐!常年在外,每年春节定是要回家和父母聚聚的,不为几天,只为陪陪日渐老去的爸妈。今年因为疫情竟不能如愿,有些落寞,说不清楚的心情。爸爸身体不好,气管炎,年岁大了,这些年更加严重了,北方天气寒冷,是不好过的。还好弟弟今年能回去陪老人过年,弟弟好多年过春节都不在家,本以为一家人都能回去过一个团员年。记得在哪里看过一句话,大意是:已结婚的人和父母就不再是一家人了。在父母的眼里,孩子是最亲近的人。可惜的是三代人,两代父母,两代孩子,人与人心境不同了。曾设想

2021-02-11 12:00:29 147

原创 记梦-初二老师

学生时代,不知道几年级。梦里的老师是初二时的马老师,记忆深刻,想来马老师今年应有80多岁了吧,近20年没有见过他老人家了。根据考试成绩分座位,按名次自己选座位。曾经有过这么分座位的,不过是高中时代的事了,梦里却回到了初二那年。这次我考的成绩很好,全班第一,马老师很开心,亲自给我安排了第一排中间靠右走廄的位置。(梦里他老人家认为是最好的位置;实际上我也从来没有考试过全班第一的成绩,哈哈)我很不开心,因为想坐第二排中间左靠走廊的位置。于是我就对马老师直说了,虽然他不高兴,但还是同意了。待我搬

2021-02-06 16:09:03 98 2

原创 2021-02-06

(defun as-string (x) (format nil "~a" x));;;;日期转化;支持对象(按交易日):; M-1,M1,M2,M3...MN; W-1,W1,W2,W3...WN;按交易日处理;日期表示每月第N个交易日或每周第N个交易日(defun cvt-to-date (x) (let* ((s (as-string x)) (s0 (elt s 0)) (ds (parse-integer (su.

2021-02-06 15:33:03 81 2

原创 宝宝记 01

这是什么?小青蛙,呱呱,呱呱。可以吃吗?不可以吃。为什么?吃了它,小蝌蚪就没有妈妈了。

2021-01-23 13:43:27 75

原创 记一“坑“

现象: 从一列表中,查询一子列表(用 remove-if or remove-if-not) ,然后遍历排序子列表,再处理子列表中的数据,同时需要从原始列表中查找(find)数据。 因为子列表的数据是从原始列表中提取出来的,所以子列表是原列表的子集,find操作肯定可以成功,但却发现有有find结果为NIL现象。结论: 一番调试折腾之后发现:sort操作破坏了原列表的结构。猜测原因是子列表是通过原列表得到的,两者可能共用了部分数据结构,导致看似无头的lst2却影响到了了l...

2020-12-12 17:00:40 71

原创 CLISP 调用 Windows API 生成GUID

(defpackage :whj.guid (:use :cl :ffi) (:export #:GUID #:NEW-GUID))(in-package :whj.guid)(def-c-struct GUID (d1 uint32) (d2 uint16) (d3 uint16) (d4 (c-array uint8 8)))(def-call-out CoCreateGuid (:name ".

2020-11-23 22:38:48 251

原创 JSON解析简单实现 之三

近来对读取器的功能有新的理解,再次利用读取器实现 JSON解析。感觉效果不错,解决了之前的一些问题。运行环境:clisp 2.49附:;json convert;WHJ.20200510;["ok1","ok2","OK3"];{"ok":1,"ok2":2,"ok3":3};[{"ok":1,"ok2":2,"ok3":3},"ok1","ok2","OK3",{"ok1":1,"ok2":2,"ok3":[3,4],"ok4":"5"}](defmacro with-j.

2020-05-10 21:22:28 179

原创 记一个梦:多次梦到考试晚点,进不去考点

多次做一个梦:在一个阳光明媚的上午,我拿着一本书,坐在操场上,晒着太阳,对10点钟的考试充满着信心,突然有一些同学从前面的教学楼里出来了,边走边聊着考试的情况。什么情况,上午不是就一场考试吗,我还没进考场呢?完了,完了,只顾晒太阳了,忘了考试时间了,赶紧去考试。等等。。。我在哪个考场呢?想不起来了。准考证还在教室,教室也是其它的考场。。。不管了,先去看看吧。推开门后,果然正在考试,监考老师...

2020-02-08 12:28:10 580

原创 关于 EVAL-WHEN 的一点理解

EVAL-WHEN:special operator功能:控制求值时间点。使用方式 :(EVAL-WHEN (opt-list) body)opt-list: 包括 :compile-toplevel ,:load-toplevel, :execute三个选项body: 任意合法lisp表达式--------------------------------------...

2020-02-05 00:20:24 204

原创 回想我的12年编程学习

过了春节,传统意义上的新的一年开始了。回想这个春节,过山车一般。走时没有人当回事,没几天就风声鹤唳,抢口罩,抢各种抗疫药,封路封村,登记外归务工人员。。。,要说这个春节最怕什么,当然是怕发烧了,无论什么原因的发烧,总归是要折腾一翻的;要说这个春节谁最倒霉,当属湖北人,武汉人尤甚;要说什么事最麻烦了,当属节后的归城路了:查体温,查身份证,登记来处去向,要说这个也不算啥,更重要的是没有公交车了,没...

2020-02-02 16:31:18 192

原创 JSON解析简单实现 之二

之前曾写过一次JSON解析,借助了读取器的功能,可惜效果不太令人满意。今天闲来无事,实现原生解析。本次实现有以下缺限: 1、没有充分优化代码 2、没有考虑转义字符解析(待后续实现);JSON 解析 WHJ.V1.20200119;-----------------------------------------------------------------------...

2020-01-19 12:57:01 247

原创 lisp数字格式化

1)、按任意进制(2~36)输出;比如按3进制输出(format t "~3r" 34) ;10212)、指定宽度输出;8位宽度(format t "~3,8r" 34); 10213)、指定宽度,并设置填充字符;8位宽度,#填充(format t "~3,8,'#r" 34) ;####10214)、输出指定宽度及对齐方式;左对齐(format ...

2020-01-17 22:35:09 574

原创 centos7 配置DNS服务器

1、DNS安装yum install -y bind bind-utils2、修改配置文件 : /etc/named.conf下面事例中用的本机IP为:192.168.31.119注意事项: 1)、options.listen-on port 53 { 配置真实IP,不要配置为本机127.0.0.1; }; 2)、allow-query { localhost...

2020-01-11 20:58:27 532

原创 getdatestring.lisp

(defun universal-time-to-timestamp (universal-time) "universal-time convert to unix timestamp" (- universal-time (encode-universal-time 0 0 0 1 1 1970 0)))(defun get-timestam...

2019-12-08 17:46:30 255

原创 例.restart-case,handler-bind ,handler-case

restart-case,handler-bind用法。样例代码:(defun get-age (text) (restart-case (cond ((symbolp text) (error 'invalid-integer :msg "Invalid integer")) ((and (stringp tex...

2019-09-01 21:29:55 199

原创 clisp 实现http请求 (2) (未完成)

暂存代码。1、未实现post,仅实现了 get2、未实现 https运行环境:win7 clisp 2.49(in-package :cl-user)(use-package :socket);主机信息(defstruct hostinfo host port)(defstruct urlinfo hostinfo url https-p);tool: 生...

2019-08-31 23:41:33 163

原创 C# Trace跟踪输出

在VC++中跟踪输出用函数OutputDebugString ,很简单。参见WINBASEAPIVOIDWINAPIOutputDebugStringA( LPCSTR lpOutputString );WINBASEAPIVOIDWINAPIOutputDebugStringW( LPCWSTR lpOutputString );而在...

2019-08-29 23:12:33 1044

原创 C# 添加windows应用程序日志

指通过windows自带的 管理工具》事件查看器 查看的应用程序日志。可通过C# 类 System.Diagnostics.EventLog 的 static 方法WriteEntry 方便的写入日志。// // 摘要: // 通过指定的注册事件源,将一个包含给定消息文本、应用程序定义的事件标识符和应用程序定义的类别的项写入事件日志。 事件查看...

2019-08-27 23:17:17 1291

原创 C# 为发布的私有程序集签名

为什么要签名?1)、签名的程序集,可以检查依赖程序集的版本,避免dll版本不正确导致的运行时问题。2)、避免dll函数转发:禁止他人替换(黑)你的dll模块。两步实现:1、AssemblyInfo.cs文件编辑。 程序集版本控制项// [assembly: AssemblyVersion("1.0.*")][assembly: AssemblyVersion("1...

2019-08-26 22:17:51 1152

原创 C# 获取当前应用的目录

一般情况下,我们通过Application.ExecutablePath 来获取,不过Application 位于System.Windows.Forms,这对于非Form应用可能不太方便,另外有一种更通用的方式获取:System.Reflection.Assembly.GetEntryAssembly().Location。//当前应用路径public static string A...

2019-08-26 21:52:21 378

原创 nmake编译C#源码

功能:用nmake 编译 C# 源码。说明:1、一个包含Main方法的源文件和其它两个libs目录下的源文件。2、将libs下的两个源文件编译为两个dll文件3、在Main方法中调用另外两个dll中的方法。实现:1、目录结构:2、制作makefile文件FLAG1=/nologoall: Main.exeMain.exe:Main.cs Math.dll ...

2019-08-24 13:26:34 303

原创 简单地自定义实现 windows API InterlockedIncrement

自定义实现 windows APIInterlockedIncrement:long __declspec(naked) incby(volatile long*,int){ __asm { push ebp mov ebp,esp push ebx mov ebx, [ebp+8] ...

2019-07-20 15:18:17 180

原创 脚本开发维护运营总结

这些年下来积累了近百个脚本或实用工具,大部分是perl脚本,另外还有exe程序,clisp脚本,python脚本。这些脚本編写的时间跨度比较大,使用频率也不等,完成的功能也种类繁多,各个脚本也有许多组合应用脚本。遇到了不少麻烦,比如不同的主机部署的脚本版本不一致,升级脚本后覆盖后,运行异常(修改一个脚本功能后,影响了其它脚本)等。总结这几年的脚本使用经验,得出如下结论:1、脚本不能直接执行,要...

2019-02-20 23:19:25 610 1

原创 我的2018年

18年过去了,虽然不想承认,可事实就是事实,这一年在技术上我收获不多。这一年里:1、熟悉了结合clisp熟悉了Http协议的基本请求响应机制;2、学习了基于intel x86 32位汇编及vc++6.0的反汇编功能,对c++的语言基本原理有了更加深入的理解,对32位汇编也有了基本了解;3、搭建redis单机服务,基于socket写了clisp的redis接口;结合C# consol...

2019-01-01 21:39:55 138

原创 C++构造函数初始化列表的执行分析

C++构造函数初始化列表对于一般变量(int,long,float,double,bool等)不管是否用初始化列表,生成的汇编代码基本一致,不会有执行效率的提升。对于类变量,则使用初始化列表调用适当的类构造函数,确实可以提高代码初始化效率。因为不是在初始化列表列表中,编译器会生成调用默认的类构造函数,而在构造函数体内的初始化又会再次调用,由此产生的无效调用。可见:使用初始化列表,不一定...

2018-12-22 09:00:09 403

原创 你变我选

没什么特色的python火了;c++20将弃用原始指针操作了;什么都成人工智能了。我不想说什么了,踏踏实实写我的 c++98,c#,perl,clisp,asm吧,完成工作的方法千百种, 有的选顺手的编程语言,还真是一种幸福....

2018-12-08 22:15:28 109

原创 【ASM】函数变量定义

asm参量一般定义在数据段下。今天用vc++带的cl编译cpp文件生成asm代码后发现另一种定义参量方式,意义同直接定义在.data数据节中。可以如下定义:print_esp proc_DATAS segment szfmt1 db '这是1 esp=%p',13,10,0 szfmt2 db '这是2 esp=%p',13,10,0 x DWORD 0h_DATAS ends...

2018-11-13 22:00:48 1633

转载 __cdecl,__stdcall,__fastcall,__pascal,__thiscall 的区别

转自 https://www.cnblogs.com/john-h/p/6276828.html microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工作,如果是__cdecl方式的函数,则函数本身(如果不用...

2018-11-11 12:31:10 257

原创 【ASM】浮点数比较大小

FPU计算通过指令 fcmp/fcmpp比较两个数的大小,其结果通过指令fstsw获取,再由SAHF设置标志寄存器,然后通过 jc:f1 <f2jz:f1==f2 。FPU的比较指令会改变状态寄存器C3和C0位。关系如下:C3    C0    result0       0      st(0)>源操作数0       1      st(0)<源操作数...

2018-11-10 23:33:42 1156

原创 x86浮点数指令

 x86架构下,一般通过专用协处理器计算浮点数。浮点数运算通过FPU(Float Point Unit,浮点运算单元计算)计算,提供了浮点栈寄存器st0~st7。fld mem  ;浮点数入栈fmul mem ;st(0)=st(0)*memfst mem ;st(0)转换为指定精度的浮点数fstp mem;同fst,并弹出st0另还 fdiv ,fsqrt,fist,fist...

2018-11-06 20:30:09 2408

原创 【ASM]】local伪指令变量

local指令必须在proc的第一行。编译器会做以下工作:1、为每一个local变量预留栈空间2、为proc过程添加栈管理代码例:test_1 proc local x:DWORD xor eax,eax rettest_1 endp编译后为:test_1 proc push ebp mov ebp,esp ...

2018-11-05 23:30:37 1233

原创 ASM 函数参数处理

函数参数传递一般通过栈,在此情形下,又有两种表现形式:1、形式1定义fn proc; asm code listfn endp2、形式2定义fn proc arg1:DWORD,arg2:DWORD;asm code listfn endp 形式2与形式1在本质上是相同的,形式2可以转换为形式1。区别在于,形式2情形下1)编译器会自动绑定到参量arg1,ar...

2018-11-04 11:31:30 2833

原创 c++之于80X86汇编之stdcall,cdecl调用

stdcall:windows API调用方式,即WINAPI。cdecl:c语言默认调用方式。问题的由来。不同的调用方式,包括其它调用方式,fastcall,thiscall等等,主要是为了解决函数调用中,参数的传递问题。stdcall和cdecl调用都是通过栈来传递参数。调用之前先将参数入栈,再调用函数,调用后再清理栈。由此就有了不同的调用方式约定,这些调用方式决定了参数的传递方式及清...

2018-11-03 23:14:38 475

原创 STL之map失足小记01

一年多没写过c++了,今天跳一坑里去了。现象: map.insert(pair<int,boo>(x,true);最后结果总是 map[x] 为false出错代码:#include <map>#include <iostream>using namespace std;int main(int argc, char* argv[]){ ...

2018-11-02 22:54:24 498

原创 linux下自动补全命令实现之readline库

readline库:readline-7.0.tar.gz依赖库:ncurses-6.0.tar.gz分别编译安装上面两个库后,便可以进行代码编译了。测试代码:#include <unistd.h>#include <string.h>#include <stdio.h>#include <stdlib.h>#include...

2018-09-22 15:07:57 1541

原创 【CLisp】JSON解析简单实现

使用说明:(defvar json-string "[a,b,c:{c:1,d:2},e]")(print (json-cvt json-string))解析结果:实现:;;;; json convert;;;; WHJ.20180916(defun define-macro-character-function (char-end)    (lambda (st...

2018-09-18 21:06:50 185

原创 【clisp】实现读取CSV文件

csv文件:             1、每行数据集各元素以逗号间隔             2、若单元素中有逗号,则整个元素以双引号括起来为一个单元素             3、若双引号元素中又有双引号,则需要转义双引号为 \"以clisp为例实现 csv 文件读取,实现如下:read-csv-file: 可以直接读取一个csv文件,并以列表形式返回数据。split-c...

2018-08-25 15:41:22 667 3

GCC 11.2 离线安装包

GCC 11.2 离线安装包

2022-04-09

win32汇编开发工具包

win32汇编开发工具包

2018-10-30

android 开发参考电子书,pdf

android 开发参考电子书,pdf

2018-10-12

windows计划任务demo

windows计划任务的封装类及demo

2013-08-11

空空如也

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

TA关注的人

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