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

xyjzsh

first demo for gtest

1.  首先給出第一個運用gtest的demo
#include "stdafx.h"
#include 
"gmock/gmock-actions.h"

using namespace testing;

class Calculate
{
public:
    Calculate()
{}
    
long add(long a,long b){return a+b;}
}
;

class CalculateMock:public Calculate
{
public:
    CalculateMock():Calculate()
{}
    MOCK_METHOD2(add,
long(long a,long b));
}
;

long testFun(Calculate& cal)
{
    
return cal.add(2,3);
}

TEST(testMock,testAdd)
{
    CalculateMock obj;
    
long len = 10;
    ON_CALL(obj,add(
2,3)).WillByDefault(Return(len)); 
    EXPECT_CALL(obj,add(
2,3)).Times(1);
    
//obj.add(2,3);
    EXPECT_EQ(10, obj.add(2,3));
}


int _tmain(int argc, _TCHAR* argv[])
{
    testing::InitGoogleMock(
&argc, argv);  
    RUN_ALL_TESTS();
    
return 0;
}



做第一個demo需要注意的事項:
1. 將用到的gtest,gmock,和你自己運用的project用同樣的code generation 的形式一致,將 project property->C++->Code Generation: 設置為:Multi-threaded Debug(/MTd)
2. 添加 using namespace testing, 否則會出現‘Return’Identifier not found.這樣的錯誤

So excited to make it work after so much confusion, anxiety.
Fighting!!

posted @ 2013-02-06 17:14 呆人 閱讀(488) | 評論 (0)編輯 收藏

Failed to retrieve paths under VSTemplate for the specified registry hive[轉載]

最近更換開發機的環境,從Windows XP換到Windows 7,結果以前在XP下的一個VS2008的一個插件項目在新環境中編譯老是出錯:

AnswerFailed to retrieve paths under VSTemplate for the specified registry hive

在網上搜索了一番,終于找到一篇文章介紹的解決方案:

運行Vs2008 SDK-〉Tools-〉Reset the Microsoft Visual Studio 2008 SP1 Experimental hive

然后重新編譯就OK了。

http://www.cnblogs.com/tubo/archive/2009/09/14/1566654.html

posted @ 2012-04-26 11:13 呆人 閱讀(350) | 評論 (0)編輯 收藏

在VS中 build 和rebuild的區別

Build只編譯工程中上次修改過的文件,并鏈接程序生成可執行文件。
如果以前沒有作過編譯,它會自動調用Rebuild操作,依次編譯資源文件、源程序文件等;
Rebuild不管文件是否作過修改,都會編譯工程中的所有源文件。
Visual Studio的智能性還不夠,它有時不能非常準確地判斷出都有哪些文件需要重新編譯。
于是,當你Build時,它僅僅把它認為需要重新編譯的重新編譯一下,而有時候它的判斷實際是不夠的。
但Rebuild就不同了,它把所有的東西都重新編譯,不管改過的,沒改過的;還是它認為有依賴的,沒依賴的,統統重來。

posted @ 2012-02-20 10:54 呆人 閱讀(1392) | 評論 (0)編輯 收藏

用TortoiseGit第一次checkout

首先安裝msysgit,然后安裝TortoiseGit。
可以在程序中看到GitGUI和TortoiseGit。
使用GitGUI進行checkout。
步驟為:
1. 在電腦上create folder,命名為demo.
2.選中demo。在菜單中選擇git clone.
就可以checkout下來代碼。

posted @ 2011-12-29 17:26 呆人 閱讀(3010) | 評論 (0)編輯 收藏

sqlserver2008里面的游標

 SQL是一種基于集合的語言(a set-based language) ,他更擅長操作和提出一組數據,而不是對
 數據進行一行一行的處理。
 SQL is a set-based language ,meaning that is excels at mantipulating and retrieving
 set of rows ,rather than performing single row-by-row processing.
 如果你的程序里一定要一條一條的執行,那么一定要先考慮使用如while循環,子查詢,
 臨時表,表變量等等,如果這些都不能滿足要求,在考慮使用游標。
 
 T-SQL中游標的生存周期:
 1.用返回一個有效結果集的sql語句來定義一個游標。
  a cursor is defined via a SQL statement that returns a valid result set.
 2. 打開游標
 3. 一旦游標被打開就可以從游標中每次取出一行數據,要根據游標的定義可以向前去數據或
 向后取數據
 the rows can be fetched moving forword or backword ,depending on the original cursor definition.
 4. 根據游標的類型,數據可以被修改或者只能讀。
 5.最后,用完游標后,必須被顯示的關閉,并且從內存中移除。
 
 游標定義格式:
 declare cursor_name cursor
 [local|global]
 [forword_only|scroll]
 [static|keyset|dynamic|fast_forword]
 [read_only| scroll_locks|optimistic]
 [type_warning]
 for select_statement[for update [of column[,...]]]
 
The select_statement argument is the query used to define the data within the cursor. Avoid
using a query that hasmore columns and rows than will actually be used, because cursors, while
open, are kept inmemory. The UPDATE [OF column_name [,...n]] is used to specify those columns
that are allowed to be updated by the cursor.
 

posted @ 2011-11-03 16:28 呆人 閱讀(1699) | 評論 (0)編輯 收藏

sqlserver2008 條件循環

條件處理:condtional processing
1.case函數以一個表達式作為輸入,一個值作為輸出
格式:case 后面有輸入表達式,when后面的的每一個表達式都會和case后面的輸入表達式進行比較運算
如果相等,則返回,否則返回else后面的表達式,如果沒有else則返回NULL。
case input_expression
     when when_expression then result_expression
     [...n]
     [else else_result_expression]
end

case的第二種情況:
case后面沒有表達式,when后面跟的是bool表達式。返回第一個when后面計算為true的表達式
格式為:
case
 when bool_expression then result_expression
 [...n]
 else result_expression
end

2. if....else...的格式
if bool_expression
{sql_statement|sql_block}
[else
{sql_statement|sql_block}
]

3.begin ....end 相當于c++中的{...}用來形成一個代碼塊

4.條件循環
return,while,goto,waitfor

return
return 用于結束當前的sql塊,查詢,存儲過程。
類似于c++中的return。
return 可以返回一個數字

while 類似c++中的while,同樣支持break,continue,break來結束當前內層循環,continue繼續當前循環

waitfor格式
waitfor
 delay 'time_to_pass'//執行前等待的時間:格式為00:00:00小時:分鐘:秒
 |time 'time_to_execute'//設置實際執行的時間
 |(receive_statement)[,TimeOUT timeout]
 可以利用waitfor將某些復雜的執行設定為在相對空閑的時間內進行。

posted @ 2011-11-03 16:27 呆人 閱讀(1957) | 評論 (0)編輯 收藏

printf 輸出int64

__int64 long a=10;
printf("%i64u",a);

posted @ 2011-11-01 14:29 呆人 閱讀(467) | 評論 (0)編輯 收藏

sqlserver2008中數據類型的優先級

當兩個不同數據類型的表達式用運算符組合后,數據類型優先級規則指定將優先級較低的數據類型轉換為優先級較高的數據類型。如果此轉換不是所支持的隱式轉換,則返回錯誤。當兩個操作數表達式具有相同的數據類型時,運算的結果便為該數據類型。

SQL Server 對數據類型使用以下優先級順序:

  1. 用戶定義數據類型(最高)

  2. sql_variant

  3. xml

  4. datetimeoffset

  5. datetime2

  6. datetime

  7. smalldatetime

  8. date

  9. time

  10. float

  11. real

  12. decimal

  13. money

  14. smallmoney

  15. bigint

  16. int

  17. smallint

  18. tinyint

  19. bit

  20. ntext

  21. text

  22. image

  23. timestamp

  24. uniqueidentifier

  25. nvarchar(包括 nvarchar(max)

  26. nchar

  27. varchar(包括 varchar(max)

  28. char

  29. varbinary(包括 varbinary(max)

  30. binary(最低)

posted @ 2011-10-31 11:25 呆人 閱讀(435) | 評論 (0)編輯 收藏

一種類型的字符拷貝函數

1.函數原型:
LPTSTR lstrcpyn(     

    LPTSTR lpString1,
    LPCTSTR lpString2,//指向一個以NULL結束的字符串
    int iMaxLength   //從lpString2拷貝到lpString1的字符串個數,包括NULL字符
);
成功返回指向lpString1的指針,否則返回NULL。

如果lpString2的長度大于iMaxLength,該方法實際上是將lpString2中的前iMaxLength-1個字符一個NULL字符拷貝到lpString1中。
如果該方法成功,則lpString1一定是以NULL結束的字符串。

2._tcsncpy是一個宏,考慮在unicode的情況下
define _tcsncpy wcsncpy

wchar_t *wcsncpy(
   wchar_t *strDest,
   const wchar_t *strSource,
   size_t count
);

Parameters
strDest

Destination string.

strSource

Source string.

count

Number of characters to be copied.

Return Value

Returns strDest. No return value is reserved to indicate an error.
不能保證NULL結束,將count個字符拷貝到strDest中。




posted @ 2011-08-10 14:02 呆人 閱讀(429) | 評論 (0)編輯 收藏

重載標準輸出符號operator<<

CString是我自己定義的一個類
為了實現:
CString str("123abvc");
cout<<str<<endl;


聲明:
 ostream& operator<<(ostream& os,const CString& str);
實現:

ostream& operator<<(ostream& os,const CString& str)
{
 long multiBytes = WideCharToMultiByte(CP_ACP,0,str._pData,-1,NULL,0,NULL,NULL);//獲得將寬字節轉換成多自己時,所需要的字節個數,注意藍色部分
 char *lpMultiBytes = new char[multiBytes+10];//分配多字節時所需要的內存
 memset(lpMultiBytes,0,multiBytes+10);

 WideCharToMultiByte(CP_ACP,0,str._pData,-1,lpMultiBytes,multiBytes+10,NULL,NULL);//調用win32api函數將寬字節的表示轉換成為多字節的表示,注意藍色部分

 os<<lpMultiBytes;

 return os;//注意返回值
}

posted @ 2011-08-10 13:43 呆人 閱讀(537) | 評論 (0)編輯 收藏

僅列出標題
共6頁: 1 2 3 4 5 6 
<2011年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久躁日日躁aaaaxxxx| 亚洲无玛一区| 麻豆国产精品一区二区三区| 国产日韩精品一区二区三区| 欧美资源在线| 久久久久久久久久久久久9999| 激情国产一区二区| 免费高清在线视频一区·| 蜜桃av一区| 亚洲与欧洲av电影| 香蕉久久精品日日躁夜夜躁| 黑人巨大精品欧美黑白配亚洲 | 国产精品亚洲综合色区韩国| 欧美一区二区三区在线看| 久久av二区| 一区二区三区鲁丝不卡| 亚洲一区精彩视频| 91久久精品国产| 亚洲视频大全| 在线观看欧美亚洲| 中国日韩欧美久久久久久久久| 国产欧美日韩专区发布| 欧美激情欧美狂野欧美精品| 欧美女同在线视频| 久久九九热免费视频| 欧美精品福利在线| 久久久精品国产一区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品99久久久久久www| 欧美一区二区视频在线观看| 亚洲精品一区二区网址| 欧美在线免费观看视频| 久久久欧美精品sm网站| 亚洲一区二区三区四区视频| 久久精品观看| 亚洲欧美中日韩| 欧美成人dvd在线视频| 欧美一级久久久| 欧美日韩国产在线看| 噜噜噜久久亚洲精品国产品小说| 欧美午夜不卡在线观看免费 | 久久国产精品高清| 欧美日产国产成人免费图片| 久久久99爱| 欧美性色视频在线| 91久久线看在观草草青青| 国产精品一区免费观看| 亚洲精品免费电影| 最新69国产成人精品视频免费| 香蕉久久一区二区不卡无毒影院| 久久久久青草大香线综合精品| 亚洲一区二区欧美日韩| 欧美成人乱码一区二区三区| 六月天综合网| 国产字幕视频一区二区| 亚洲免费综合| 午夜日本精品| 国产精品综合网站| 亚洲一区二区精品在线| 亚洲专区一二三| 欧美性猛交xxxx免费看久久久| 亚洲精品久久久久久久久久久久| 亚洲精品系列| 欧美日韩国产在线播放| 亚洲理论电影网| 中文av一区特黄| 国产精品家庭影院| 亚洲中字黄色| 久久久久久久久久久久久9999| 国产亚洲亚洲| 免费不卡在线观看av| 欧美黄网免费在线观看| 亚洲精品欧美极品| 欧美日韩另类字幕中文| 野花国产精品入口| 欧美诱惑福利视频| 一区二区三区在线视频免费观看| 久久久夜夜夜| 亚洲欧洲一区二区在线观看| 99视频+国产日韩欧美| 欧美日韩国产欧| 先锋影音久久久| 欧美成年人视频网站欧美| 日韩视频免费观看| 国产精品国产福利国产秒拍| 性欧美video另类hd性玩具| 麻豆精品91| 宅男噜噜噜66一区二区| 国产精品一二三| 鲁大师影院一区二区三区| 亚洲精品社区| 欧美在线看片a免费观看| 永久久久久久| 国产精品久久久久久久久久久久| 香蕉尹人综合在线观看| 亚洲国产午夜| 久久都是精品| 一个色综合av| 狠狠色丁香久久婷婷综合_中| 欧美电影免费观看网站| 午夜欧美精品| 亚洲高清不卡av| 欧美破处大片在线视频| 欧美综合国产| 这里只有精品电影| 欧美1区视频| 欧美一区二区三区免费在线看| 亚洲激情视频在线| 国产精品视频第一区| 欧美精品三级在线观看| 久久国产精品色婷婷| 一区二区三区高清在线| 欧美成人精品一区| 久久精品99久久香蕉国产色戒| 一区二区三区成人精品| 亚洲第一区色| 国内精品美女在线观看| 国产精品高潮呻吟久久av无限| 美日韩在线观看| 久久久精品久久久久| 亚洲欧美在线磁力| 日韩视频一区二区三区| 亚洲成人资源| 欧美r片在线| 久久在线免费视频| 久久九九精品99国产精品| 亚洲一区二区三区在线视频| 亚洲精品字幕| 亚洲精品老司机| 91久久国产综合久久91精品网站| 狠狠色丁香久久婷婷综合丁香| 国产欧美不卡| 国产精品综合不卡av| 国产精品网站一区| 国产精品欧美风情| 国产精品美女久久福利网站| 欧美精品一区二区在线播放| 欧美freesex交免费视频| 久久中文字幕一区二区三区| 久久精品国产亚洲精品| 欧美在线视频网站| 久久久久久久精| 久热这里只精品99re8久| 久久这里有精品视频| 麻豆精品视频在线| 欧美成人精精品一区二区频| 欧美成人中文字幕| 欧美精品一区在线观看| 欧美日韩色婷婷| 国产精品久久一卡二卡| 国产欧美日韩视频在线观看| 国产综合激情| 亚洲国产精品久久久久秋霞影院| 亚洲黄色在线视频| 99国产精品私拍| 亚洲欧美色婷婷| 久久久精品欧美丰满| 欧美国产综合视频| 亚洲裸体视频| 欧美在线免费观看| 你懂的视频欧美| 欧美性天天影院| 国产综合第一页| 99ri日韩精品视频| 亚洲欧美成人网| 免费中文字幕日韩欧美| 亚洲人成网在线播放| 亚洲一区二区欧美日韩| 久久九九国产精品| 欧美日韩一二三区| 国产字幕视频一区二区| 日韩亚洲欧美在线观看| 午夜亚洲精品| 免费欧美日韩| 国产精品99久久久久久www| 欧美一区二区三区在线播放| 玖玖国产精品视频| 国产精品久久亚洲7777| 在线观看亚洲| 欧美一二区视频| 亚洲日本激情| 久久国产精品久久久久久电车| 欧美日产在线观看| 国产一区欧美| 亚洲一区二区三区午夜| 欧美高清不卡| 夜夜嗨av色一区二区不卡| 久久精品亚洲精品国产欧美kt∨| 亚洲韩国一区二区三区| 午夜精品久久久久久久蜜桃app | 亚洲高清在线观看一区| 亚洲一区三区视频在线观看| 欧美大片一区二区| 狠狠入ady亚洲精品经典电影| 亚洲无亚洲人成网站77777 | 午夜精品福利在线| 亚洲国产视频a| 久久综合伊人77777| 国产美女精品免费电影| 亚洲婷婷免费|