BLOG main image
분류 전체보기 (27)
스윙 (5)
스터디 (14)
외부링크 (2)
미분류 (2)
(4)
agencia de limpeza
agencia de limpeza
blog de mepresas de limpezas
blog de mepresas de limpezas
deep cleaning
deep cleaning
what is gastric sleeve diet
what is gastric sleeve diet
nike hyperdunk
nike hyperdunk
12,994 Visitors up to today!
Today 0 hit, Yesterday 1 hit
daisy rss
tistory 티스토리 가입하기!
2012.07.18 13:34
http://studiostyl.es/

 

1000여개의 테마가 준비되어있다.

마음에 드는 테마를 바꿔 코딩에 능률을 높여보자~!!

Name
Password
Homepage
Secret
2012.07.04 16:34

준비물 : http://googletest.googlecode.com/files/gtest-1.6.0.zip


링크를 통해 gtest-1.6.0.zip 받아서 압출을 풀자.

 

압축을 풀면, \gtest-1.6.0\msvc 라는 폴더가 있는데, 거기에 빌드할 있는 .vcproj 파일이 있다.

우리는 multi-debug 이용한 lib 사용해야 하기때문에 gtest-md.vcproj 열어 .vcxproj파일을 만들고

[Build]->[Batch build...] gtest-md gtest_main_md Debug Release 선택해서 빌드 한다.



빌드 이후, 아래와 같은 폴더에 2개씩 lib 생성된걸 볼수 있을것이다.

\gtest-1.6.0\msvc\gtest-md\Debug

\gtest-1.6.0\msvc\gtest-md\Release

 

우리는 lib 위치한 폴더와 include 위치한 폴더를 적용하면 된다.

\gtest-1.6.0\include

 

이제 새로운 프로젝트를 열어 콘솔 프로젝트를 만든다.

메인cpp파일에 _tmain() 필요없다.

이미 gtest_main_md.lib 안에는 main() 포함되어있다.

int _tmain(int argc, _TCHAR* argv[])

{

return 0;

}

지우고,


속성( property page) 열어

[C/C++]->[General]->[Additional Include Directories]

\gtest-1.6.0\include의 위치를 저장한다.


[Linker]->[General]->[Additional Library Directories]

현재 사용할 lib파일의 위치를 저장한다.

C:\gtest-1.6.0\msvc\gtest-md\Debug

 

 vs2008이하 버전에서는 [도구]->[옵션]을 선택하여 아래와 같이 세팅

 


 

 

 

 

 

 

 

 

 

 

 

Linker->Input->Additional Dependencies

gtest_main-mdd.lib gtestd.lib 설정


위와 같이 세팅하고, [Ctrl]+[F5] 눌러보자.


위와 같이 하면 기본적인 gtest 할수 있는 환경이 되어있는 상태이다.


Name
Password
Homepage
Secret
2011.05.24 08:54
[]

제너릭 copy함수를 사용하려면, [시작값], [종료값], [복사받을시작값]을 지정하는데
복사받을 값은 복사원본의 사이즈를 미리알고 있어야한다.
그래서
백터컨테이너를 이용할때 [복사받을시작값].reserve()를 이용해 미리 공간확보해야하는줄 알았다.

#include <vector>
using namespace std; int _tmain(int argc, _TCHAR* argv[])
{
 vector<int> n1,n2;
 
 n1.push_back(1); ///< 복사할 데이터
 n1.push_back(2);
 n1.push_back(3);

 n2.reserve(n1.size()); ///< 공간확보
 
 copy(n1.begin(), n1.end(), n2.begin());
 
 return 0;
}

위와 같이 작업하면


뷁...
n2.resize(n1.size());

resize를 이용하자
혹은,
insert_iterator를 이용하자
 copy(n1.begin(), n1.end(), insert_iterator<vector<int> >(n2, n2.begin()) );
insert_iterator는 현재 아무값도 저장되지 않은 백터도 begin()되는 공간을 생성해서 넣어준다.
Name
Password
Homepage
Secret