自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Xterm.js的复制拷贝功能实现

对于复制功能,最开始没有看完全量的API,只发现了Xterm.js提供了两个方法:hasSelection()和getSelection(),即是否有选中文本和获取选中文本。怎么回事呢, 继续查看API和谷歌之,发现网上有个实现,但是不是原生实现,当时没有看懂,后来发现了onSelectionChange事件,猛然想到不生效的原因应该是当Ctrl+C按下的时候,选中的内容焦点已经丢失,所以此时再获取是否选中和选中文本的时候,已经无法获取了。在实现的过程中遇到一点小插曲,和大家分享一下。

2023-07-10 23:55:12 704

原创 基于web的telnet终端实现

由于是在业余时间搞,所以放了很长时间就忘了,在搜索中,发现了有个开源的工具很nb,就是xterm.js这个工具,可以实现前端的终端界面实现,而且很多商业软件也都使用的这个组件,比如vscode的powershell。Xterm.js的使用直接参考官方示例即可使用,由于只是作为显示的一个窗口,数据不需要在客户端处理,键盘输入的数据,除了Ctrl+C、Ctrl+V等操作需要在前端处理,其余接收到的数据,直接通过ws传入后端服务器,也不需要回显,ws接收到的数据,直接回显到客户端。方法:open() 创建终端;

2023-07-10 23:51:45 1027

原创 dwarf调试信息格式学习

背景:最近想在自己写的一个工具里dump任意的结构体数据,类似于gdb中,可以打印出结构体的格式和值, 但是发现普通的方式无法完成。那么就想到gdb是怎么做到的呢, 原来涉及到-g选项中增加的那些调试信息数据,所以就想开始分析ELF格式文件,然后就了解到DWARF格式的标准调试信息格式。还在入门中,这是一些初级的心得记录下。dwarf标准网站:Dwarf Home推荐一篇文章 《DWARF详解》 地址: DWARF详解 - LLVM中文网, 其中对阅读DWARF4标准给出了导读提示,对于英...

2022-04-15 12:11:07 885 1

原创 process_begin: CreateProcess(NULL, cc -c -o sqlite.o sqlite.c, ...) failed.make (e=2): 系统找不到指定的文件。

在windows中用codeblock自带的MinGW的编译器进行makefile编译,出现如下错误:process_begin: CreateProcess(NULL, cc -c -o sqlite.o sqlite.c, ...) failed.make (e=2): 系统找不到指定的文件。发现原因是找不到cc这个编译器,但是我指定了MinGW的环境变量,为什么不会自动用gcc.exe呢, 后来发现就是没有找到导致的报错。实际使用的是cc编译器,而确实是没有找到cc,那么怎么指定呢

2021-07-07 01:51:17 7347

原创 使用cgi读取post上传文件数据回车换行(\r\n)被替换为换行(\n)

在使用c语言写的cgi处理表单方式上传文件时,解析post过来的数据,发现客户端传来的数据中,行尾的回车换行 \r\n(crlf)在使用读接口fgetc从标准输入中读时,数据变成了\n(lf),导致按照content-length长度读时挂死在那里,服务器使用的是win7下的iis,换了linux下的shttpd服务器 就是正常数据。现在还没有找到具体的原因,在网上搜索也只有一两个人遇到过这个问题,但是也没有直接解决 ,而是规避了。先记录下,后续有时间再继续定位补充。...

2020-05-08 21:59:50 976

原创 基于C语言+sqlite3的FTP爬虫和搜索引擎系统

作者:kikilizhm 转载请注明git hub项目地址:https://github.com/kikilizhm/ftpsearch/Demo地址:http://123.207.75.110/c语言写一个小型的ftp服务器搜索引擎爬虫,然后供web方式搜索爬虫:C语言socket+sqlite3本地数据库web server:boa + C语言cgi + sqlite3...

2019-06-08 23:19:49 327

转载 收藏8个html+CSS的搜索框和表格

转自:https://blog.csdn.net/zuncle/article/details/62888725效果图<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width...

2019-05-10 22:44:49 2213

原创 BOA服务器对CGI程序报错502 Bad Gateway

作者:kikilizhm 转载请注明这个错误网上对一般的情况的说明已经很清楚,我说下我遇到的情况。1.浏览器报错:502 Bad GatewayThe CGI was not CGI/1.1 compliant.2. boa的/var/log/boa/下的error log显示:[09/May/2019:10:34:17 +0000] cgi_header: unabl...

2019-05-09 18:41:25 831

原创 socket客户端获取本端的端口

对于客户端socket,一般创建socket后,直接链接服务器的ip和端口, 一般来说,我们知道服务器的ip/域名和端口号,但是本端我们一般默认,不进行显示的绑定固定端口,系统会默认自动分配空闲的端口。一般我们不需要关注客户端的端口号时什么,但是有时我们需要知道客户端的端口号,可以使用getsockname函数获取。原型如下:#include <sys/socket.h>...

2019-05-02 12:15:22 7523 1

原创 查看linux的物理内存大小

网上大部分的free 和cat /proc/meminfo 查看的是linux 可以分配的内存大小。如果想查看linux整个系统分配的物理内存大小,可以通过cat /proc/iomem , 其中System Ram 就是uboot 给linux分配的物理内存空间大小。root@localhost:/cfcard# cat /proc/iomem                      ...

2018-07-26 22:02:24 20220

原创 关掉linux ssh终端后,让程序继续执行的方法

最近买了个树莓派,发现中移动的物联网云平台挺好,就想玩玩,用树莓派上自动获取温度上报到云端,通过web显示,测试时希望在ssh上执行完命令后,关闭电脑或者ssh命令行终端后, 树莓派继续运行。1. 使用 nohup 命令(说明,网上有的说输入下列命令后,再回车到ssh命令行,再exit退出,那种情况会失败)    nohup  执行的命令 &amp; 2. 讲执行命令加到系统的rcs启动脚本中。适...

2018-06-16 22:05:16 3070

原创 ucos在飞思卡尔hcs12dg128上的移植

刚毕业第一个工作,开始单片机开发的时候,就想学习ucos,最开始买了邵贝贝的那本书,对操作系统的调度和一些基础有了认识,不过没有使用过操作系统,在第二份工作后,开始接触和使用VxWorks驱动开发,再后来进行linux驱动开发。最近闲着没事,翻出了刚开始再第一个公司工作时买的飞思卡尔的开发板,移植下ucos玩一下。说来惭愧,对照着书本修改了下,结果程序一跑就飞。1. 开发板使用的时龙丘的HCS12...

2018-06-09 11:23:40 617

原创 socket编程中的select解决阻塞问题

转载请注明出处:作者 kikilizhm在编写ftp客户端程序时,在联通后使用recv函数进行接收欢迎信息时,需要申请内存进行接收数据保存,一次读取成功,但是由于一个随机的ftp服务端在说,欢迎信息的大小是不知道的,所以在尝试使用死循环,在阅读recv的说明时讲到返回值即是接收到的字节数,那么返回0的时候就代表结束了,实践发现recv是个阻塞函数,在连接不断开的情况下,会一直处于阻塞状

2018-06-09 09:19:10 4516

原创 sshpass交叉编译报找不到`rpl_malloc'

在交叉编译环境下编译sshpass,出现如下错误:main.o: In function `runprogram':main.c:(.text+0x6a8): undefined reference to `rpl_malloc'configure中检测结果:checking for GNU libc compatible malloc... no发现是由于configure检测到是交叉编译环境,...

2018-03-22 10:45:21 1093

原创 Fedora9下codeblocks安装无法编译的问题

在Fedora9下安装codeblocks,sudo yum install codeblocks,安装完毕谢了个helloworld想测试下,写完点build and run,竟然一点反应没有,没有一闪而过的命令行窗口,发现log窗口也没有反应,百度了下,发现是因为检测到的编译器安装目录错误导致的,修改如下:setting->compiler and debugger ->globa

2015-03-07 23:28:31 853

原创 ADSL宽带80和8080端口被封

最近使用花生壳解析家中的联通adsl的动态ip,发现解析正常,在家中访问域名和路由器的动态ip地址都可以,但是就是在外网访问不到,打不开,ping域名能解析到动态地址,很奇怪,网速慢也不至于啊,尝试8080端口也不行,后来百度发现是政府下文件,要求运营商封闭了80和8080端口,换了个其他不常用的端口, 果然可以了,测试了一下,速度还可以,接下开,做些智能家居方面的测试。有相同需求的小伙伴注意

2014-11-29 22:01:11 3874

原创 boa在友善6410开发板上的移植

花了几天的业余时间终于把boa的移植完成了,最近每天加班都到夜里十一二点,实在是累死了。今天清明节,睡了一上午,下午终于移植OK了,记录一下。现在看来移植boa还是总的来说还是比较简单的,主要是我之前制作根文件系统的时候没有拷贝全库文件导致移植出现莫名其妙的问题。由于移植的部分在网上多得是,而且也教简单,先说说问题吧,供其他出现同样问题的同学参考:问题1:配置 User 时,使用 Us

2013-04-04 17:59:58 1891

原创 使用友善之臂6410开发板NFS启动时打印乱码

使用友善之笔的6410开发板进行NFS启动的时候,发现在解压完内核开始运行后,串口就打印乱码,刚开始以为是NFS配置有问题,发现也都可以正常用,后来尝试改将串口改为USB转串口的配置,因为我的串口是USB转的 ,即参数console=ttyUSB0,发现直接没有打印,后来直接去掉console选项,发现打印会默认打到LCD屏幕中个,感觉还是串口的配置问题,在百度时偶尔发现有个串口的配置 conso

2013-03-24 20:24:51 2120

原创 虚拟机中linux无法访问外网

在虚拟机种安装linux,使用桥接方式进行网络设置,但是在虚拟机上可以访问内网网段,但是打不开外网。只需要添加路由即可。加入内网网关为192.168.1.1在linux命令行下配置路由: sudo route add default gw 192.168.1.1此时即可正常访问外网了。

2013-03-24 14:39:33 2892

转载 【原EDN博文】USB开发之Unicode编码转换工具

此文章为本人在EDN的博文,源地址 http://bbs.ednchina.com/BLOG_ARTICLE_2107040.HTM今天周末继续看圈圈的USB的书,看到字符串描述符这里,需要转换Unicode编码,由于圈圈自带的那个网页总是感觉不太整洁,就想自己做一个小工具,现在做的差不多了,大家给测试一下,看看有没有什么问题。用VB2008做的。程序支持自动转换,输入内容自动转换

2013-03-09 22:25:38 1185

原创 【win网络编程】socket中的recv阻塞和select的用法

转载请注明出处:作者 kikilizhm在编写ftp客户端程序时,在联通后使用recv函数进行接收欢迎信息时,需要申请内存进行接收数据保存,一次读取成功,但是由于一个随机的ftp服务端在说,欢迎信息的大小是不知道的,所以在尝试使用死循环,在阅读recv的说明时讲到返回值即是接收到的字节数,那么返回0的时候就代表结束了,实践发现recv是个阻塞函数,在连接不断开的情况下,会一直处于阻塞状

2012-11-20 00:34:43 18794

转载 使用 Socket 通信实现 FTP 客户端程序

转载自 http://www.ibm.com/developerworks/cn/linux/l-cn-socketftp/高 乐怡, 软件工程师, IBM顾 锋磊, 软件工程师, IBM简介: FTP 客户端如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的 Socket 来实现。FTP 客户端与服务器端进行数据交换必须建立

2012-11-16 22:45:37 2278

原创 windows下sqlite的.dll生成.lib和c编程

在windows下想使用c程序中使用sqlite,需要使用静态库.lib文件,官网上只提供sqlite3.dll和sqlite3.def文件,需要.lib才能使用。所以自己生成.lib文件。1.在官方网站sqlite.org下载页面下载sqlite-dll-win32-x86-3071401.zip (298.71 KiB) 。解压到某一文件夹下,如c:\sqlite3.2

2012-11-11 22:33:54 4568

原创 Windows SOCKET网络编程官方API文档

MSDN中关于socket的文档:ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/winsock/winsock/winsock_functions.htm

2012-11-06 21:58:33 1624 1

原创 GUN ARM的汇编的.balignl 16,0xdeadbeef 实验

这位博主的实验很好,让人一目了然,学习了。就不拷贝了,大家直接过去看。对uboot里的这句话.balignl 16,0xdeadbeef 解释的很好。 博客原文地址:    http://www.cnblogs.com/Efronc/archive/2012/02/22/2363106.html

2012-09-02 21:48:29 1380

原创 基于VB2008的winsocket控件网络编程

原创文章,转载请注明转载字样和出处,谢谢! 为了验证上个在linux下写的socket的网络程序,使用vb2008写了一个简单的使用winsocket的小程序。由于之前对vb有过简单的经验。用起来也方便。但是在刚开始的添加winsocket控件却费了半天的时间,移植添加不了对控件的引用。一开始直接使用菜单里的项目-添加引用,在com中找到 Microsoft Winsock Control

2012-08-13 01:58:46 5636

原创 linux下C语言socket网络编程简例

原创文章,转载请注明转载字样和出处,谢谢!这里给出在linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到客户端的连接后,发送数据给客户端;客户端在接受到数据后打印出来,然后关闭。程序里有详细的说明,其中对具体的结构体和函数的实现可以参考其他资料。程序说明: 这里服务器的端口号和ip地址使用固定的设置,移植时可以根据具体情况更改,可以改写为参数传递更好

2012-08-13 01:34:18 67662 61

原创 基于windows IIS的C语言CGI WEB服务器环境搭建

原创文章,转载请注明转载字样和出处,谢谢!         网页编程对我来说特别亲切,因为我就是从html、ASP、PHP一步步接触编程的。自己的编程爱好也是从那里一点一点被满足。不过离开大学之后很久没有碰过WEB了,最近看到嵌入式中的涉及到的web服务器,了解到了CGI编程,就想赶紧试一试。对于cgi,不算接触,但是还是听说过之前,对于纯粹写普通网站的人来说CGI却是很古老的东西了,之前

2012-08-07 23:12:54 12005 11

原创 Nand Flash 地址数据的确定

NAND Flash使用8位数据线,同时作为地址线,命令线,数据线复用。类似于平时使用的点阵液晶显示器的操作方式。这里作为学习的记录,说一下nand flash 的地址的确定方式。nand flash 的内部分为 Block(块)、Page(页). 其中 一块nand flash 包含若干 Block,每个Block里包含若干Page.页是nand 的最小操作单元。一下图片显示的是三星16Gb

2012-08-05 01:12:59 1775

原创 uboot中lowlevel_init运行不了的现象

从开始下定决心从无到有的移植uboot后,最近这段时间进展很慢,从最开始的开始了解arm的体系架构(当初学单片机的时候看到arm驱动的书前面大篇幅的讲arm感觉是没必要的,现在看来是很有必要的,单片机才不用关心他的架构,如果仅用c开发),然后又需要了解arm汇编,因为不了解汇编想去一直uboot根本不可能。由于工作最近经常加班,有时看的时间也不多,不过最近工作上的感觉慢慢的熟练起来之后,对我学习一

2012-07-22 03:18:30 1575 2

转载 ARM的BIN文件反汇编方法

最近在调试uboot的代码时,用的新版本的uboot,lowlevel_init函数里是空的,而且在链接文件中也没有发现对lowlevel_init.o的链接。在bl lowlevel_init 之前和之中加了两个电灯,发现在bl之后的部分并没有被执行,所以想看看具体程序有没有运行这个函数。在网上找反汇编bin文件的时候发现有朋友提供的方法,很好用。使用arm-linux 工具链里面的arm-

2012-07-21 23:22:16 27134

原创 【ARM基础知识】ARM寻址方式

开始想的比较简单,在开始配置uboot的时候开始看最开始的汇编,发现了之前用arm7当单片机用的时候没有涉及到汇编这些东西,看到将arm指令相关基础知识的时候感觉没必要看,现在才发现这个是基本功,如果想进入嵌入式或者驱动开发,必须要了解芯片架构和指令系统,arm在arm7之后最主要的就是有了mmu功能,这个也是arm+linux的基本功。“基本功”,我师傅常说的一个词,现在真的领会到了它的含义。做

2012-06-12 22:49:51 3696

原创 uboot移植开贴

竟然不知道开头怎么下笔,那就先说说自己的嵌入式的经历吧,2010年毕业进入我的第一个公司,是一家不大的国有企业,开始接触单片机,在那之前我学习过单片机,但是我都不知道怎么通过的那门课,大学的学习也是红灯高高挂,但是大学的生活因为绿队也是丰富多彩。开始真正接触单片机是在临毕业之前的两三个月,当时由于工作找的是核仪表的工作,知道后面会主要涉及到电子和电路方面的知识,就开始在网上找了视频自学,大概看了网

2012-05-29 23:33:32 1533

原创 结构体的自引用(或者说自身嵌套吧)

晚上学习简单的led驱动程序编写的时候看到链表的实现。在结构体中再一次定义了这个结构体类型的成员,当时感觉这么用什么时候能引用到头,这个结构体怎么结束,带着疑问百度了一下,结果找到了答案,是自己看的太粗心,没有细心看。结构体作为一种类型,起成员可以是各种基本类型,当然也包括结构体这种类型。当一个结构体中想引用自身的结构时,是可以的,不过要注意用法。下面第一种是错误的,即我刚开始想象的那样子。第

2012-05-21 23:45:40 18546 3

原创 tiny6410上第一个hello module驱动程序

买了tiny6410的开发板很久了,一直没有开始弄,现在想学了又没有了时间,只有利用周末的时间来学习,也打算开始用博客记录自己的学习过程,要不然就都忘了。这个是最简单的hello的驱动程序,自己按照友善之臂的例子一点点来的,写一点遇到的问题。1.首先在驱动目录下建立模块的源文件,这里命名为  my_mini6410_hello_module.c   假设linux目录为linux-2.6.

2012-05-20 01:45:30 1568 1

转载 Source Insight查看高亮ARM汇编源程序

1、解决方法是在Options->Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Source File,然后在右边的File filter里*.asm;*.inc;的后面加上*.s;*.S 接着CLOSE就可以了。这样就可以ADD TREE时把这些汇编加到PROJECT里面。 2、要让汇编高亮显示和索引查找,解决方法是在Options->

2012-01-04 14:16:10 757

原创 入门级 网络现场直播 的实现

原创文章,转载请注明转载字样和出处,谢谢! 以前在学校绿队的时候玩过,基于手头的最廉价的网络直播的实现,当时做了一场项目报告会的直播。之前在榴莲论坛上发过,不是很完整,这次发个稍微完整的,有时间做个配图的详细说明。这是入门级玩法成本 :硬件视频采集可以用摄像头一个,或者可以采用DV+采集卡(一般1394接口),不过有的DV直接是1394接口的,可以直接连接到带有1394

2011-06-06 22:12:00 993

ucos在飞思卡尔HCS12DG128上的移植实例--

ucos 2.91版本在飞思卡尔16位单片机hcs12dg128上的移植,对portb的端口进行2hz闪烁

2018-06-09

《嵌入式系统——使用HCS12微控制器的设计与应用》随书例程

《嵌入式系统——使用HCS12微控制器的设计与应用》随书例程 内容仅c1 - c18,完整实例程序,方便对hcs12系列或者hcs12dg128同系列mcu编程参考

2018-06-09

兰州大学绿队邮件订阅系统

兰州大学绿队 邮件订阅 群发 系统,邮件列表~

2009-10-28

ip-地址数据库 -文本数据

纯真ip数据库 091210 版本 文本格式 可以转换为 mysql 的程序需要都请 QQ405082171

2009-01-14

空空如也

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

TA关注的人

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