青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

2010年8月8日

SVN客戶端腳本(LUA)

 1 --打開日志文件
 2 svnlogPath = assert(arg[3], "路徑為空");
 3 svnlog = assert(io.open(svnlogPath, "r"), "打開日志文件失敗!");
 4 
 5 --日志是否為空
 6 if svnlog:read(0== nil then
 7     --日志為空
 8     svnlog:close();
 9     io.stderr:write("請?zhí)顚懭罩荆?/span>");
10     os.exit(1);
11 else
12     --檢查日志內容
13     local count = 1;
14     while true do
15         local line = svnlog:read();
16 
17         if line == nil then
18             break;
19         end
20 
21         --查找是否匹配
22         if string.len(line) > 0 then
23             if not string.find(line, ".:%s*%S") then
24                if not string.find(line, ".\239\188\154%s*%S") then
25                  svnlog:close();
26                  io.stderr:write("日志沒有填寫完整");
27                  os.exit(1);
28                 end
29             end
30         end
31 
32         count = count + 1;
33     end
34 
35     --檢查行數(shù)是否>6行
36     if count < 6 then
37          svnlog:close();
38          io.stderr:write("請?zhí)顚懲暾罩? ");
39          os.exit(1);
40     end
41 
42 end
43 
44 svnlog:close();
45 

posted @ 2010-08-08 21:22 gewala 閱讀(440) | 評論 (0)編輯 收藏

2009年11月8日

在EZ430開發(fā)板的串口類異常

  我發(fā)現(xiàn)串口類cnComm在串口轉USB的設備上有些能工作(USB430),但在EZ430上卻不能工作,很奇怪!我懷疑是硬件問題,畢竟串口轉USB硬件上有差別。我發(fā)現(xiàn)cnComm的線程一直收到一些不存在的事件,導致死循環(huán)。
  今天上網(wǎng)看了一篇資料,說是那個DCB配置了硬件握手協(xié)議導致了一些不支持這個功能的串口轉USB設備出錯。我覺得有點道理,有時間試驗一下。先看一下cnComm的DCB配置情況。

摘抄

    使用API進行串口編程時設置串口屬性(SetCommState)是一條必經(jīng)之路,其DCB結構幾乎涵蓋了所有和串口通訊相關的資源設置,由于有些設備需要使用RTS和CTS進行數(shù)據(jù)的收發(fā)控制,為了提高接收效率可以使用RTS握手選項dcb.fRtsControl=RTS_CONTROL_HANDSHAKE; 在標準串口下使用一切正常,但在一些沒有標準串口的筆記本上卻不能發(fā)送數(shù)據(jù),后經(jīng)過仔細排查發(fā)現(xiàn)就是RTS握手選項搞的鬼,關閉此選項后一切恢復正常。

    由于公司只有一種USB轉RS232的設備,所以也沒有測試其他品牌/類型的設備是否也存在這個問題。如果有朋友遇到串口通訊在USB轉RS232下不好用的時候,可以看看RTS握手選項的狀態(tài)。


    發(fā)現(xiàn)cnComm打開了發(fā)送和接收的流控制,fDtrControl=DTR_CONTROL_ENABLE,fRtrControl=RTR_CONTROL_ENABLE。有可能是這個原因。

posted @ 2009-11-08 00:00 gewala 閱讀(446) | 評論 (0)編輯 收藏

2009年11月3日

內存溢出檢測學習

  最近發(fā)現(xiàn)CRT控制臺程序沒有TRACE和內存溢出檢查,很郁悶。無聊中翻看MSDN的Memory Management and the Debug Heap篇,發(fā)現(xiàn)C的Debug版本用_malloc_dbg代替malloc,而_malloc_dbg者給數(shù)據(jù)堆加上一個控制頭組成鏈表,方便記錄溢出。原話如下:
  When you request a memory block, the debug heap manager allocates from the base heap a slightly larger block of memory than requested and returns a pointer to your portion of that block. For example, suppose your application contains the call: malloc( 10 ). In a release build, malloc would call the base heap allocation routine requesting an allocation of 10 bytes. In a debug build, however, malloc would call _malloc_dbg, which would then call the base heap allocation routine requesting an allocation of 10 bytes plus approximately 36 bytes of additional memory. All the resulting memory blocks in the debug heap are connected in a single linked list, ordered according to when they were allocated:
  那個控制頭的數(shù)據(jù)結構如下:
typedef struct _CrtMemBlockHeader
{
// Pointer to the block allocated just before this one:
   struct _CrtMemBlockHeader *pBlockHeaderNext; 
// Pointer to the block allocated just after this one:
   struct _CrtMemBlockHeader *pBlockHeaderPrev; 
   
char *szFileName;   // File name
   int nLine;          // Line number
   size_t nDataSize;   // Size of user block
   int nBlockUse;      // Type of block
   long lRequest;      // Allocation number
// Buffer just before (lower than) the user's memory:
   unsigned char gap[nNoMansLandSize];  
} _CrtMemBlockHeader;

  這個nBlockUse有6種內存塊,具體含義還沒有搞清楚,分別如下
/* Memory block identification */
#define _FREE_BLOCK      0
#define _NORMAL_BLOCK    1
#define _CRT_BLOCK       2
#define _IGNORE_BLOCK    3
#define _CLIENT_BLOCK    4
#define _MAX_BLOCKS      5
  檢測內存溢出用_CrtDumpMemoryLeaks(),在crtdbg.h中定義。有時間研究一下crtdbg.h文件。
  參考http://www.cnblogs.com/phinecos/archive/2009/10/29/1592604.html


posted @ 2009-11-03 22:53 gewala 閱讀(1078) | 評論 (0)編輯 收藏

2009年10月21日

一個時間軟件

  從NIST網(wǎng)站上下了個時間軟件,看起來很古老,但功能強大。我在NIST網(wǎng)站上一直找不到網(wǎng)絡時間服務器,但在這個軟件中發(fā)現(xiàn)可以下載更新服務器地址,很好很強大。
下載
 

posted @ 2009-10-21 22:18 gewala 閱讀(261) | 評論 (0)編輯 收藏

2009年10月20日

一些API函數(shù)--《windows程序設計》

   《window程序設計》果然是經(jīng)典,相對于MFC來說SDK簡直是返璞歸真啊。繼續(xù)摘錄一些API函數(shù)和技巧:
  CheckRadioButton(hwnd,IDC_SERVER1,IDC_SERVER10, wServer);
  1、Selects (adds a check mark to) a given radio button in a group and clears (removes a check mark from) all other radio buttons in the group. 在IDC_SERVER1-IDC_SERVER10中選中wServer的ID,有點像分組。

  DialogBoxParam (hInst, TEXT ("Servers"), hwnd, ServerDlg, (LPARAM) szIPAddr);
  2、可以在WM_INITDIALOG的LPARAM傳參數(shù),建立模態(tài)對話框。ServerDlg為消息處理函數(shù),szIPAddr為參數(shù),在WM_INITDIALOG消息響應中處理LPARAM的值。

typedef char *  va_list;

#define _INTSIZEOF(n)   ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
#define va_start(ap,v)  ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t)    ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap)      ( ap = (va_list)0 )
  3、va_list可變參數(shù)的結構,有點復雜慢慢看。
  一般的用法是這樣(個人理解)
va_list args; //聲明變量
va_start(args, fmt); //開始解析。args指向fmt后面的參數(shù)
TYPE var = va_arg(args, TYPE); //取下一個參數(shù)并返回。args指向下一個參數(shù)
va_end(args); //結束解析
http://hi.baidu.com/kang_liang/blog/item/168c9059a9a1ca2d2934f05f.html

  4、wsprintf和wvsprintf的區(qū)別,從它們的參數(shù)可以看出。
int wsprintf(
  LPTSTR lpOut,    
// output buffer
  LPCTSTR lpFmt,   // format-control string
                // optional arguments
);

int wvsprintf( LPTSTR lpOutput, // buffer for output
               LPCTSTR lpFormat, // format-control string
               va_list
// variable list of format-control arguments
               );

  wsprintf純粹是格式化字符串,wvsprintf是以參數(shù)列表Va_list格式化字符串。

posted @ 2009-10-20 22:36 gewala 閱讀(547) | 評論 (0)編輯 收藏

2009年10月19日

strtok用法--提取字符串

    最近看Petzold的《windows程序設計》,在Internet那章中看到如何在字符串中提取IP地址,特地標記一下:
1 GetDlgItemTextA (hwnd, wServer, szLabel, sizeof (szLabel));
2 strtok (szLabel, "(");
3 strcpy (szServer, strtok (NULL, ")"));
    在Msdn上查了一下,有下面一段:

    On the first call to strtok , the function skips leading delimiters and returns a pointer to the first token in strToken , terminating the token with a null character. More tokens can be broken out of the remainder of strToken by a series of calls to strtok . Each call to strtok modifies strToken by inserting a null character after the token returned by that call. To read the next token from strToken , call strtok with a NULL value for the strToken argument. The NULL strToken argument causes strtok to search for the next token in the modified strToken . The strDelimit argument can take any value from one call to the next so that the set of delimiters may vary.

Warning    Each of these functions uses a static variable for parsing the string into tokens. If multiple or simultaneous calls are made to the same function, a high potential for data corruption and inaccurate results exists. Therefore, do not attempt to call the same function simultaneously for different strings and be aware of calling one of these function from within a loop where another routine may be called that uses the same function.  However, calling this function simultaneously from multiple threads does not have undesirable effects.

    看來用了靜態(tài)變量,還好有多線程的C運行庫,否則在多線程在有麻煩了。

posted @ 2009-10-19 23:05 gewala 閱讀(2358) | 評論 (0)編輯 收藏

僅列出標題  
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統(tǒng)計

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章分類

文章檔案

設計模式 網(wǎng)絡編程

網(wǎng)絡

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            av不卡在线| 亚洲美女淫视频| 久久国产精品一区二区三区四区| 9久re热视频在线精品| 国产精品户外野外| 欧美一区二区三区日韩| 欧美一区二区三区四区在线观看地址 | 激情另类综合| 亚洲大胆视频| 欧美日韩综合不卡| 性做久久久久久| 久久激情视频| 亚洲精品永久免费| 亚洲一区久久久| 在线成人av| 99re热精品| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲乱码国产乱码精品精天堂| 亚洲黄色免费网站| 欧美日韩日本国产亚洲在线| 99视频一区二区三区| 亚洲在线成人| 亚洲激情国产| 午夜精彩国产免费不卡不顿大片| 在线日韩欧美视频| 亚洲最新中文字幕| 一区在线播放| 亚洲网站在线看| 亚洲高清在线观看一区| 亚洲欧洲在线观看| 国产人成精品一区二区三| 欧美aa在线视频| 欧美视频亚洲视频| 久久亚洲不卡| 国产精品乱码妇女bbbb| 欧美大片免费观看| 国产精品一区二区三区四区五区| 免费成人美女女| 国产区精品视频| 亚洲精品资源| 亚洲高清色综合| 午夜精品视频在线| 中文欧美字幕免费| 免费中文日韩| 久久这里只有| 国产伪娘ts一区| 中文久久乱码一区二区| 亚洲人成小说网站色在线 | 蜜臀av在线播放一区二区三区| 欧美精品1区2区| 麻豆成人精品| 国产一区二区| 午夜视频一区| 欧美一进一出视频| 欧美性事在线| aa亚洲婷婷| 在线亚洲激情| 欧美大片一区二区三区| 蜜桃久久精品一区二区| 伊人久久大香线| 久久精品麻豆| 久久亚洲一区| 国产一区二区三区免费在线观看| 亚洲精品日韩在线观看| 日韩亚洲综合在线| 欧美激情第10页| 亚洲国产精品成人一区二区 | 欧美日韩视频在线第一区| 欧美激情中文字幕乱码免费| 在线电影国产精品| 六月天综合网| 欧美成人精品一区| 亚洲黄色高清| 欧美激情女人20p| 亚洲激情视频在线| 亚洲私拍自拍| 国产精品国产三级国产专播精品人| 亚洲美女精品久久| 亚洲一区二区三区高清不卡| 欧美日韩一区三区四区| 制服丝袜激情欧洲亚洲| 欧美一区2区三区4区公司二百| 国产精品剧情在线亚洲| 欧美一区二区高清在线观看| 久久久一本精品99久久精品66| 伊人精品久久久久7777| 欧美电影在线| 99国产精品视频免费观看一公开| 亚洲自啪免费| 国产亚洲精品一区二555| 久久九九国产| 亚洲欧洲三级| 性xx色xx综合久久久xx| 红桃视频一区| 欧美日韩黄视频| 亚洲欧美日韩国产一区| 另类av一区二区| 99视频精品全国免费| 国产欧美日韩精品专区| 久久婷婷麻豆| 亚洲私拍自拍| 免费观看久久久4p| 亚洲一区二区免费在线| 狠狠爱成人网| 欧美人妖在线观看| 久久精品国产免费| 亚洲精品日韩久久| 久久免费视频网站| 一区二区三区久久网| 国产日韩在线看| 欧美黄色小视频| 久久av二区| 一区二区三区国产在线| 蜜臀av国产精品久久久久| 亚洲视频在线一区观看| 在线精品国精品国产尤物884a| 欧美视频在线免费| 欧美成人a∨高清免费观看| 亚洲专区一二三| 亚洲乱码视频| 麻豆免费精品视频| 欧美一区二区黄| 一区二区av| 亚洲精品视频在线观看免费| 国产亚洲欧美一区二区三区| 欧美日韩视频在线| 欧美成人精品激情在线观看 | 一本大道久久a久久精二百| 欧美成人免费全部观看天天性色| 欧美综合第一页| 亚洲一区黄色| 一区二区三区久久| 亚洲美女淫视频| 亚洲欧洲精品一区二区三区不卡| 国产午夜精品福利| 国产九色精品成人porny| 欧美视频一区二区三区四区| 欧美黄色日本| 欧美激情一区二区在线| 欧美激情精品| 欧美激情免费在线| 欧美激情在线有限公司| 老司机免费视频久久| 久久裸体艺术| 久久天天狠狠| 美女精品自拍一二三四| 久久躁狠狠躁夜夜爽| 久久综合影音| 欧美高清在线一区二区| 欧美日本中文| 国产精品xvideos88| 国产精品日日摸夜夜摸av| 国产精品萝li| 国产日韩欧美综合在线| 国产日韩欧美精品在线| 国产一区二区三区精品久久久| 国产日韩欧美精品一区| 伊大人香蕉综合8在线视| 一区二区视频欧美| 亚洲黄色影片| 一区二区三区 在线观看视频| 一区二区三区|亚洲午夜| 亚洲视频专区在线| 欧美在线视频在线播放完整版免费观看 | 午夜在线精品| 久久精品国产77777蜜臀| 快播亚洲色图| 亚洲欧洲日韩在线| 亚洲一区二区四区| 久久久久久综合网天天| 欧美国产日韩一区二区在线观看| 欧美日韩中文字幕在线视频| 国产女优一区| 亚洲精品免费看| 亚洲欧美在线一区| 美女视频黄a大片欧美| 亚洲黄色成人网| 亚洲欧美日韩国产一区| 免费观看在线综合色| 国产精品sm| 亚洲国产1区| 午夜欧美不卡精品aaaaa| 美国成人毛片| 亚洲午夜伦理| 蜜臀91精品一区二区三区| 欧美体内she精视频在线观看| 国产日韩成人精品| 亚洲免费电影在线观看| 久久精品国产精品亚洲精品| 亚洲国产成人一区| 性欧美video另类hd性玩具| 欧美精品1区| 在线观看日韩| 香蕉亚洲视频| 亚洲精品一区二| 久久夜色精品亚洲噜噜国产mv| 国产精品久久久久毛片软件| 亚洲精品视频在线看| 久久青草欧美一区二区三区| 一区二区三区精品在线|