- 博客(37)
- 问答 (2)
- 收藏
- 关注
原创 单向链表(非循环)的增、删、查、释放、写入文件
一、单向链表想实现正常的删除都需要获取前一个结点的地址,还不如直接使用双向链表,所以单向链表的应用场景非常少,本例是实现了一个增加和删除数字后仍然能从小到大排序的功能。二、单向链表的查询效率极低,不像排序后的数组可以使用二分法来加快查询速度,只能从头开始遍历,要想快速查询,只能结合hash来实现了三、代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys
2021-08-26 15:36:24
183
原创 台式机和笔记本快速互拷超大文件
一个安装了win7的台式机、一个安装了win10的笔记本,要传几百G的文件,文件夹共享实在是弄不了。试过手机传输、qq、飞秋,最高也就2MB,用了一个简便的方法,适用所有的操作系统。1.一个普通能上网的网线,直接将笔记本和台式机的网口互连;2.在控制面板-以太网-更改适配器配置中手工配置ip,如下所示ip地址: 192.168.1.101 //另外一个用102掩码:24或255.255.255.0默认网关:192.168.1.13.我这边配完后win7可以ping通win10的102
2021-08-23 19:39:19
5305
原创 linux c语言环境 非循环单链表实际应用示例
一、代码:#include <stdio.h>#include <stdlib.h>#define _ULL unsigned long long/*definition of single link:each node can only visit it's next node, and visit it's pre node,the last link point to NULL*//*use scene:sort number. get the minnest n
2021-08-23 16:49:56
162
原创 c语言递归实现圆周率PI的计算(精确到小数点后7位)
1.算法来自李永乐老师的课程:https://www.bilibili.com/video/BV1Bs41177UK/2.运行环境为linux64位服务器3.编译命令:gcc main.c -lm -g4.运行结果(入参为大于等于2的正整数,在17开始就不精确了)[root@localhost cacu_π]# ./a.out 16L2n:0.000032, perimeter of 196608.000000 Regular Polygon is 6.283185, value of
2021-08-07 17:38:11
1884
原创 多线程拷机工具
#define __USE_LARGEFILE64#define _LARGEFILE64_SOURCE#ifndef _GNU_SOURCE#define _GNU_SOURCE#endif#include #include #include#include #include #include #include #include "tool
2015-01-26 09:29:36
691
原创 多线程中的条件线程简单示例
1.原理:理解的条件线程最常见的用法就是两个线程同时对一个队列进行处理,比如一个线程负责在队列未满的时候插入item,另外一个线程负责在队列非空时取出item,条件线程涉及4个线程相关函数,pthread_mutex_lock、pthread_mutex_unlock、pthread_cond_wait、pthread_cond_signal,其中pthread_mutex_lock负责对线程加锁
2015-01-06 17:31:32
828
原创 pthread_mutex_lock线程锁使用简单示例
#define __USE_LARGEFILE64#define _LARGEFILE64_SOURCE#ifndef _GNU_SOURCE#define _GNU_SOURCE#endif#include #include #include #include #include #include #include #include #inclu
2014-12-16 17:47:04
5688
原创 fork,defuct僵尸示例
#define __USE_LARGEFILE64#define _LARGEFILE64_SOURCE#ifndef _GNU_SOURCE#define _GNU_SOURCE#endif#include #include #include #include #include #include #include#include #includ
2014-12-16 16:01:45
954
原创 多线程例子
linux-j6hs:/home/oyw/testcode/alarm_pthread # cat main.c#include #include #include #include typedef struct struct_alarm{ int seconds; char message[64];}alarm_aliases;void *al
2013-07-25 16:05:08
582
原创 自动化测试专题-tcl,expect
1.windows下的自动化1.1 自动telnet登录的bat@echo offecho set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbsecho WScript.Sleep 300 >>telnet_tmp.vbsecho sh.SendKeys "open 1.1.1.1 4111{ENTER}" >
2012-03-21 21:30:25
627
原创 windows下练习linux编程的软件-cygwin的用法(超简单)
不知道网上为什么有这么多啰里吧嗦的又长又臭的教程,让人望而却步,唉... 1.下载地址:如果该地址不能用就去迅雷下载1G以上的完整版ed2k://|file|Cygwin-Release-20061108.iso|1385754624|e887348a35f71aa388
2011-08-13 19:47:15
1111
原创 四则表达式实现(dev cpp工具中运行通过,欢迎指正)
#include #include typedef struct Node{ char c; struct Node *next;}Node,*p_Node;typedef struct Stack{ int length; Node *top;}Stack,*p_Stack;void InitStack(p_Stack S) /* 初始化一个栈 */{ S->length = 0; S->top = (Node *)malloc(sizeof(Node *));
2011-04-19 19:42:00
736
原创 读写测试代码
<br />一、非DIO<br />1.tools.c<br />#include <time.h><br />#include <sys/timeb.h><br />#include "tools.h"<br />void wrtFile(char * filename, char * list, int count)<br />{<br /> int writefd = -1;<br /> int i;<br /> time_t writeltime1, writeltime2;<br /> struc
2011-01-30 09:09:00
857
原创 linux的U盘启动盘制作及使用U盘进行linux安装
一、grub与grub-install简介二、使用grub和grub-install程序进行U盘启动盘制作步骤
2011-01-14 09:23:00
1222
原创 bdb专题
一、示例程序#include #include #include int main(){ DB *db; DBT key, data; DBC *cursorp; int ret; char tmpstr[4]; /* init key, data,seems meanless */ memset(&key, 0, sizeof(DBT)); memset(&data, 0, sizeof(DBT)); /* create a db handle */
2010-12-25 16:41:00
545
原创 suse专题
<br />1.上网设置<br />vi /etc/sysconfig/network/ifcfg-eth0<br />改为:<br />BROADCAST='192.168.1.1'<br />IPADDR='192.168.1.110'<br />NETMASK='255.255.255.0'<br />然后重启服务<br />service network restart
2010-12-22 22:36:00
598
原创 fuse专题
<br />1.流程<br />从命令到用户态文件系统的函数(只能看到内核返回opcode)<br />example/fusexmp.c,main,xmp_oper:30030500(xmp_getattr).:直接到库文件helper下<br />lib/helper.c,fuse_main_real,arc:3:跳转<br />lib/helper.c,fuse_main_common:建立命令,开线程操作命令,卸载命令;此处入参包含<br />lib/helper.c,fuse_setup_comm
2010-12-21 20:04:00
925
原创 makefile专题
1.automake1.1 如果源代码中只有Makefile.in而无Makefile,说明为automake工具生成,需./configure将当前目录和所有相关子目录中的Makefile.in生成为Makefile,将两个文件做比对发现,两者差别不大,只是将Makefile.in中的INSTALL = @INSTALL@变为具体的INSTALL = /usr/bin/install -c,原因可能是为了支持跨平台编译吧;2.根据Makefile找到源代码的入口函数2.1 一般是找Makefile的“al
2010-12-20 16:45:00
581
原创 linux shell脚本简单示例
1.查看系统使用何种shell脚本(bash,ksh,csh): echo $SHELL2.测试拷贝效率:#!/bin/bashsize=`du file1|awk '{print $1}'`ksize=`expr $size // 1`starttime=`date +%s%N`cp file1 file1.bakendtime=`date +%s%N`passedsecd=`expr /( $endtime - $starttime /) // 1000000`echo copy $ksize K la
2010-12-02 15:25:00
730
原创 编程规范
1.少用甚至不用全局变量和静态变量:检查方式为linux下"size ./*.o",结果中data段和bss段(即未初始化的data段)数据为0;
2010-11-01 10:36:00
483
原创 samba配置
CIFS常用命令1.检查配置信息字段设置是否正确:testparm /etc/samba/smb.confps -ef|grep mbd|grep -v grep|awk '{print $2}'|xargs kill -9Server role: ROLE_DOMAIN_PDC2.查询保密的tdb文件位置:smbd -b | grep PRIVATE_DIR3.查询普通的tdb文件位置:smbd -b | grep LOCKDIR4.查看很多smb信息(可以研究一下):smbd -b 5.每次修改smb.
2010-10-23 15:53:00
762
原创 linux c最简单多线程例子:
<br />#include <stdio.h><br />#include <pthread.h><br />#define SIZEOFTHREAD 4<br />#define THREADNUM 3<br />pthread_t thread[THREADNUM];<br /><br />void *thread1(int tn)<br />{ <br /> while(1)<br /> {<br /> printf ("thread : I'm thread %d/n", tn);
2010-09-02 10:19:00
699
原创 线程内定义数组过大导致segmentation fault段错误:
<br /> 编写linux多线程程序时,在线程内分配超过10M的栈空间后编译通过但运行时出现segmentation falut段错误,网上查了下线程的栈大小大概为8M。
2010-09-02 10:16:00
2656
原创 单链表的设计和非递归,递归逆序方法源代码,dev-c++下可直接运行.
//自己从网上总结并自己修改的代码,应该算比较清晰了.#include #define link_list_size 3using namespace std;#define Malloc(x) (x *)malloc(sizeof(x)); typedef struct link_node{ int size; int data; link_node * next;}l
2008-11-02 10:45:00
728
原创 struts的API下载地址:
http://apache.mirror.phpchina.com/struts/documentation/struts-1.3.8-docs.ziphttp://apache.mirror.phpchina.com/struts/documentation/struts-2.0.9-docs.zip是两个版本的API,各取所需吧。
2007-09-20 15:58:00
1710
4
原创 jsp学习:
1.jsp全称javasevelet page,通常嵌套在html代码中,通过调用javabean(就是java组件,一般不带main()函数)实现业务逻辑、数据增删。 2.jsp不是javascript(它的后缀是.js):jsp语言的标志一般为 类似,javascript一般为夹在中间
2007-09-12 10:05:00
569
原创 jdk与oracle的jdk版本冲突:
记住,oracle9i自带的是jdk1.3,如果装了jdk1.4以上版本再装oracle9i,系统默认的jdk又变成jdk1.3了,解决的方法是把jdk1.4的环境路径剪切到最前面。
2007-09-05 14:44:00
1751
原创 c++学习笔记
一、关于调试(工具c++ builder) 1.f8单步调试,f5设置断点2.如果无法通过编译,单步调试也无法进行。3.f4可以直接调试到光标处,可以跳着调试,比一直按着f8调试要快些,看个人需求二、c++ builder开始最简单的cpp程序new-console wizard,然后把源代码写在#pragma argsused后(把int main()那几行删除),在main()最后
2007-08-16 13:50:00
766
空空如也
double类型小数点精度
2022-08-02
shell正则如何匹配字母与数字,但不全是数字的情况
2021-04-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人