- 博客(39)
- 资源 (2)
- 收藏
- 关注
转载 用Au3 发 邮件
;发件人推荐使用163邮箱,去申请一个就好。#include Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")Global $oMyRet[2]Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")Func _INetSmtpMailCom($s_SmtpS
2012-06-03 23:25:09
2095
原创 AU3-设置IP和DNS
#include #include #include #include #include #include Opt("GUIOnEventMode", 1)$G_bCreate = False;$G_Config = @WorkingDir & "\config.ini"$G_Name= ""$hDlg = GUICreate("修改IP",481,23
2011-12-23 15:00:46
2982
11
原创 AU3-进程名获取窗口名
#Include Dim $arr = ProcessList("PersonalClient.exe")$PID = 0If $arr[0][0] > 0 Then $PID = $arr[1][1]Else ExitEndIfDim $arr1 = WinList()For $i = 1 To $arr1[0][0] $hwnd = $arr1[$i]
2011-12-21 09:42:04
1668
原创 AU3-常用函数1
;1点击按钮ControlClick("窗口名称","","[CLASS:Button; INSTANCE:1]","left");2获取edit文本 设置文本ControlSetText("窗口名称","","[CLASS:Edit; INSTANCE:1]","文本",1)ControlGetText();3.获取状态栏中的文本AutoItSetOption("WinT
2011-12-21 09:36:55
1217
原创 AU3 - 进程名获取窗口标题
Dim $arr = ProcessList("aadfa.exe")$PID = 0If $arr[0][0] > 0 Then $PID = $arr[1][1]Else ExitEndIfDim $arr1 = WinList()For $i = 1 To $arr1[0][0] $hwnd = $arr1[$i][1] If _WinAPI
2011-12-20 14:24:01
3088
转载 常用SQL(2)
/**修改 系统统计参数**/ALTER system SET statistics_level = ALL;/**查看内存SGA PGA**/show parameter target; SELECT * FROM v$sgainfo;show sga;/**内存表**/--设置内存表ALTER TABLE t_team storage(buffer_pool
2011-12-20 08:39:02
369
原创 俄罗斯方块
#pragma once/******************************************************************************** name : * description: 点,代表一个小方块* input : * output : * return : void* rema
2011-12-19 17:53:33
344
4
原创 多写多读-线程安全队列4
//放入数据的过程template bool TMultiRWQueue::myPut(Element& data){ if (!m_lockPut.Lock()) { return false; } //拷贝元素数据到空闲节点 *m_Put = data; //空闲节点指向下一个位置 m_Put++; if (m_Put >= m_Tail
2011-12-13 15:51:59
350
原创 多写多读-线程安全队列3
//执着放入一个数据(没有空间就一直等待)template bool TMultiRWQueue::put(Element& data){ if (!m_bInit) { return false; } //获得空闲信号量通知 if (!m_semaPut.Wait()) { return false; } //放入元素 myPut
2011-12-13 15:50:44
516
原创 多写多读-线程安全队列2
//初始化,创建对列template TMultiRWQueue::TMultiRWQueue(){ m_bInit =FALSE; m_Head = NULL ; //队列起点 m_Tail = NULL; //对列终点 m_Put = NULL; //下一个写入位置 m_Get = NULL; //下一个读取位置
2011-12-13 15:47:15
476
原创 多写多读-线程安全队列1
#pragma once#include "TSemaphore.h"#include "TLock.h"//支持多读多写#ifndef TMULTIRWQUEUE_H#define TMULTIRWQUEUE_Htemplate class TMultiRWQueue{public: typedef T Element; private: Ele
2011-12-13 15:39:50
539
原创 字符串切分
#ifndef WORDDATA_DEF#define WORDDATA_DEF/******************************************************************************** name : WORDDATA* description: 本类主要用以切分字符串。例如"A=B" 用'='切分为 "A"和"B
2011-12-13 14:49:33
466
2
原创 事件锁-Linux
#ifndef WAIT_LOCK_DEF#define WAIT_LOCK_DEF/******************************************************************************** name : WORDDATA* description: 本类主要用以加锁和解锁* remark : Crea
2011-12-13 14:37:02
730
原创 线程同步-信号量
3.信号量 (Semaphore) A synchronization object that allows a limited number of threads in one or more processes to access a resource. Semaphores are useful in controlling access to a shared resource that
2011-12-13 14:31:54
356
原创 线程同步-互斥量
2.互斥量(Mutex) A synchronization object that allows one thread mutually exclusive access to a resource. Mutexes are useful when only one thread at a timecan be allowed to modify data or some other
2011-12-13 14:23:33
405
原创 线程同步-临界区
1.临界区(Critical Section) A synchronization object that allows one thread at a time to access a resource or section of code. Critical sections are useful when only onethread at a time can be allow
2011-12-13 14:22:49
442
原创 临界区锁
#pragma once#include class TCriticalSection{private: CRITICAL_SECTION m_critical; TCriticalSection() { InitializeCriticalSection(&m_critical); }; ~TCriticalSection() { De
2011-12-13 14:21:03
413
原创 互斥锁
#pragma once#ifdef _WIN32#include typedef DWORD TSemWaitTimeout;class TMutexLock{private : HANDLE m_mutex; public: TMutexLock() { m_mutex = CreateMutex(NULL, false, NULL); }
2011-12-12 17:33:42
694
原创 信号量封装类(Linux)
#else#include #include typedef int TSemWaitTimeout;class TSemaphore {private: sem_t m_sem;public: TSemaphore() { m_sem = NULL; }; ~TSemaphore() { if(NULL != m_sem)
2011-12-12 17:17:38
735
原创 信号量封装类(windows)
#pragma once/******************************************************************************** name : 信号量封装类* description: * input : * output : * return : void* remark
2011-12-12 17:16:24
465
原创 关于查找排序的一点总结
最近在项目中,写协议栈的时候,需要引入消息重发机制,所以使用了资源池+队列的方式管理需要重发的消息,消息重发按照 每隔1s 2s 4s....的方式进行,每次取队列的第一个判断需要重发的时间,并等待一段时间(不超过 最短重发时间,因为可能会有新的消息加入队列),重发完毕后,将消息的下次重发时间 刷新并插入队列中(采用 折半查找的方式),经测试,当消息数量在8W条时,插入一条数据 大约需要50us,
2011-12-08 09:04:26
397
原创 Linux常用命令
1.查看 线程CPU使用ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 2.抓包(root用户) 先执行ifconfig 查看网卡tcpdump -i eth1 -s 0 -w 1.cap 3.查看硬盘信息df -h4.查看当前文件夹信息du -sh * 5.查看任务管理器vmstat 1
2011-12-08 08:51:02
267
原创 蒙地卡罗法求PI
解法蒙地卡罗的解法适用于与面积有关的题目,例如求PI值或椭圆面积,这边介绍如何求PI值;假设有一个圆半径为1,所以圆面积就为PI,而包括此四分之一圆的正方形面积就为1,如下图所示:如果随意的在正方形中投射飞标(点)好了,则这些飞标(点)有些会落于四分之一圆内,假设所投射的飞标(点)有n点,在圆内的飞标(点)有c点,则依比例来算,就会得到上图中最后的公式。至于如何判断所产生的
2011-12-01 10:12:51
1127
原创 八枚银币
说明现有八枚银币a b c d e f g h,已知其中一枚是假币,其重量不同于真币,但不知是较轻或较重,如何使用天平以最少的比较次数,决定出哪枚是假币,并得知假币比真币较轻或较重。解法单就求假币的问题是不难,但问题限制使用最少的比较次数,所以我们不能以单纯的回圈比较来求解,我们可以使用决策树(decision tree),使用分析与树状图来协助求解。一个简单的状况是这样的,我们比
2011-11-30 16:41:14
1140
原创 八皇后乃至N皇后问题
西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,1970年与1971年, E.W.Dijkstra与N.Wirth曾经用这个问题来讲解程式设计之技巧。解决思路:1维数组szResult[i]依次表示第i行对应的皇后的所在的列。采用遍历方式第i行皇后所在的列从0到N 分别判断 此时是否出现重复现象,如果重复则无
2011-11-30 16:31:53
939
原创 三色旗
三色旗的问题最早由E.W.Dijkstra所提出,他所使用的用语为Dutch Nation Flag(Dijkstra为荷兰人),而多数的作者则使用Three-Color Flag来称之。假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两
2011-11-30 14:40:22
2867
原创 Linux 获取微秒时间
#include #include struct timeval tv; struct timezone tz; gettimeofday (&tv , &tz); double tCur = tv.tv_sec + double(tv.tv_usec)/1000000.0;
2011-11-21 16:37:36
966
转载 Linux 使用statvfs读取文件系统信息
使用statvfs读取文件系统信息///文件操作偏移地址启用64位形式#define _FILE_OFFSET_BITS 64#include #include typedef enum { TOTAL_SIZE,///文件系统的大小 FREE_SIZE, ///自由空间 USED_SIZE, ///已用空间 AVAIL_SIZE /
2011-11-17 10:09:10
10036
原创 Linux设置系统时间
1.date 设置后重启会变化 date -s 2011-10-13 -s 10:12:202.clock 对bios设置 重启后不变
2011-11-16 11:18:34
443
原创 TCP客户端无法收到消息的问题。
1. Client 创建Socket1并发送登陆报文2. Client 接收登陆响应3. Client 关闭Socket14. Client 处理登陆响应5. Client 创建Socket2并发送注销报文6. Client 接收注销响应7. Client 关闭Socket28.
2011-11-10 10:31:36
1465
原创 线程结束
//接收线程函数UINT RtcpRecvThreadFunc(LPVOID pParam){ if (NULL == pParam) { return 0; } AFX_MODULE_THREAD_STATE* pState = AfxGetMod
2011-10-19 15:42:19
239
原创 NFS实现文件夹共享
基于NFS实现网络映射场景:假设10.147.136.48上有一个目录/home/work,10.147.136.49需要对其进行访问并能进行读写操作。原理:NFS(网络文件系统)1.以root用户登陆 482.检查是否安装NFS ipt4:/home #
2011-09-28 09:17:43
692
原创 Linux线程安全 锁和广播锁,
#ifndef LOCK_DEF#define LOCK_DEF/******************************************************************************** name : WORDDAT
2011-09-28 08:37:57
392
原创 TCP send 发送大数据量的问题
int sendTCP(SOCKET& socketfd,TString strXml){ int iContLen = strXml.length(); int iSendLen = 0;#ifndef WIN32 fd_set scanSet; FD_
2011-09-26 17:45:46
5394
原创 linux 执行命令行,获取结果
char strcmd[256] = {0}; snprintf(strcmd,sizeof(strcmd)-1, "ls -l %s",m_logpath); FILE *pf = popen(strcmd,"r"); if( NULL == pf) {
2011-09-26 09:45:40
1952
转载 对于linux socket与epoll配合相关的一些心得记录(转载)
没有多少高深的东西,全当记录,虽然简单,但是没有做过测试还是挺容易让人糊涂的int nRecvBuf=32*1024;//设置为32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int))
2011-08-02 22:06:36
426
原创 巧用sourceInsight宏实现助手功能
1.函数定义/****************************************************************************** * Name : * Description : * Input : * Output : *
2011-07-20 11:14:09
422
3
原创 小技巧:动态加载服务
更新一个正在运行的服务,无需重新加载服务1.停服务 kill -9 服务所在容器的PID2.删除启动服务生成的文件 cd service/app/servicerun/里面的文件 包括服务的tar包和同名文件夹3.复制新的tar包 service/app/servicefile/
2011-07-20 09:12:26
323
原创 makefile报错 warning: ignoring old commands for target
原因是:本地文件未能同步到服务器上修改方法:删除服务器的文件 rm -rvf ...
2011-07-20 08:57:54
6323
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人