소프트웨어

소프트웨어/IDE

이클립스 CDT로 C/C++ 개발 시작하기

목차들어가기이클립스 CDT 설치하기이클립스로 C/C++ 프로그램 개발하기마무리 들어가기 이전 포스팅에서 이클립스에 대한 소개를 해봤다.이제 본격적으로 CDT를 이용한 개발에 대해서 이야기해보려고 한다.다만 이클립스 CDT에 대한 소개는 이미 많이 존재하고 있어서 대부분의 내용은 링크로 대체한다. 이클립스 CDT 설치하기 이클립스 CDT를 설치하는 방법은 아래 두 가지가 있다.개인적으로 1번을 추천한다. 2번은 정신건강에 해롭다.C/C++ 개발자용 이클립스 다운로드Classic 이클립스 다운로드 후 CDT 플러그인 설치윈도우에서 이클립스로 C/C++을 개발하기 위해서는 툴체인도 필요하다. cygwin 이나 minGW 등을 사용한다.이 모든 과정은 다음 블로그(링크)에 잘 설명되어 있다. 동영상을 선호하면 ..

소프트웨어/IDE

이클립스 통합개발환경 소개 및 설치

목차이클립스 소개이클립스 인스톨이클립스 사용법이클립스 디버깅 방법마무리 이클립스 소개이클립스는 개발자를 위한 통합개발환경이다. 10년 전에는 Java 개발환경으로 유명했고 (지금도 유명하다) 5년전 즈음에는 안드로이드 앱 개발환경으로 유명했다.지금은 안드로이드 스튜디오에 안드로이드 개발환경은 넘어간 상황이지만 여전히 이클립스는 개발자라면 한번 즈음은 접해보는 IDE이다. 나 같은 경우는 지금도 이클립스를 사용해서 ARM용 네이티브 (c/c++) 서비스 들을 개발한다. 이클립스의 전반적인 내용은 나무위키를 참조하자. 아주 설명이 잘되어 있다.조금 정리하자면 장단점은 아래와 같다. 장점운영체제에 제한이 없다.여러 언어를 지원한다.방대한 플러그인을 지원한다.무설치판이다. 사용목적에 따라 여러 버전을 유지할 수..

소프트웨어/툴 & 프로파일링

gprof 고급사용법 : call 그래프 결과 이미지로 변환하기 등

이전 포스팅에서 (http://kkangeva.tistory.com/67) 기본적인 사용법을 다뤘다. 아래 내용은 이전 포스팅의 내용 기본으로 작성된 것이다. [gmon.out 파일을 지정하기]기본적으로 gmon.out 파일은 실행파일과 같은 위치에 만들어진다. 하지만 실제로 프로파일링이 필요한 환경에서는 다른 디렉토리를 지정하고 싶을 수 있다. 가령 rootfs가 읽기전용이거나 실행파일의 위치가 읽기전용일 경우 재현이 잘되지 않아서 여러 번 프로파일링을 반복하고 결과를 저장하고 싶은 경우 사실 이전 포스팅에서 이미 방법을 소개했다. GMON_OUT_PREFIX 환경변수를 사용하면 된다. 아래는 기본적인 gprof 시퀀스다. $ g++ -g -pg -o test test.cpp $ ./test $ gpr..

소프트웨어/툴 & 프로파일링

예제와 함께하는 gprof를 이용한 기본적인 CPU 프로파일링

gprof를 사용하면 특정 실행파일의 함수별 호출횟수, 대략적인 CPU 사용시간을 확인할 수 있다. 즉, 함수별 호출횟수를 기반으로 성능 최적화 포인트 (혹은 성능저하 포인트)를 잡아낼 수 있는 툴이다. 참고로 CPU 사용률의 경우, 10ms 단위의 샘플링이기 때문에 아주 상세한 정보라고 보기는 힘들다. 그리고 기본으로 제공하는 text 리포트의 경우 callstack 정보를 상세하게 확인하기 어려운 단점이 존재한다. [기본적인 사용법]기본적인 프로파일링 시퀀스는 다음과 같다.컴파일 with -pg실행프로파일링 리포트 확인-pg 옵션이 활성화된 실행파일은 아래 세 가지 작업이 추가가 된다. gmon.out 파일생성 (GMON_OUT_PREFIX 환경변수로 위치 조정가능) 10ms 마다 PC (프로그래밍 ..

소프트웨어/툴 & 프로파일링

gperftools & tcmalloc 소개

[소개]구글의 성능 측정 툴이 모태가 되어서 개발된 오픈소스 툴이다.멀티스레드 환경에서 잘 동작한다고 주장하고 있으며 아래 세 가지가 메인 기능이라고 한다.malloc 성능향상 : tcmallocheap-checkerheap-profilercpu-profiler 체커나 프로파일을 위한 리포트를 생성하기 위해서 pprof 라는 내부 툴이 있다.다만 해당이 golang 버전으로 대체 되었다고 한다.얼핏 살펴보니 perf 또한 지원하는 형태로 발전한 듯 하다.나중에 시간나면 한번 살펴봐야지. - https://github.com/google/pprof [TCMALLOC]간단하게 -ltcmalloc 또는 -ltcmalloc_minimal 을 링크하는 것으로 끝이다.이렇게 하면 코드 상의 malloc 또는 new..

소프트웨어/안드로이드앱

minSdkVersion와 targetSdkVersion 정확하게 사용하기

목차1. 소개2. minSdkVersion3. targetSdkVersion4. maxSdkVersion 이 포스팅은 안드로이드 SDK Guides의 내용을 기반으로 작성되었습니다.1. 소개이클립스가 기본 IDE 였을 때에는 minSdkVersion, targetSdkVersion는 AndroidManifest.xml에 설정했습니다. 아래가 사용법입니다. 하지만 Android Studio로 넘어오면서 build.gradle 파일에 옮겨지게 되었습니다. defaultConfig { applicationId "com.tistory.kkangeva.materialdesign" minSdkVersion 21 targetSdkVersion 22 versionCode 1 versionName "1.0"} SdkVe..

소프트웨어/안드로이드앱

안드로이드 스타일과 테마 알기

목 차1. 스타일? 테마?2. 스타일 (Styles)A. 생성하기B. 적용하기3. 테마 (Themes)A. 생성하기B. 적용하기4. 참조1. 스타일? 테마?스타일이나 테마는 폰트 종류&크기&색, 배경색 같은 것들을 미리 정의해 놓고 여러 UI 요소들에서 공유해서 사용하는 기법이다. 이 둘의 차이점은 다음과 같다. 스타일 : 하나의 엘리멘트 단위로 적용할 수 있는 하나 또는 그 이상의 포맷팅 애트리뷰트의 집합테마 : 액티비티 단위로 적용할 수 있는 하나 또는 그 이상의 포맷팅 애트리뷰트의 집합 자세한 내용은 다음 장에서 설명하기로 하고 그럼 이런 테마를 쓰게 되면 어떤 장점이 있을까? 어플레케이션 용량 저하 : 이미지가 아닌 스타일 & 테마로 App을 만들게 되면 2MB 정도로 왠만한 앱을 만들 수 있다고..

소프트웨어/안드로이드앱

안드로이드 머티리얼 디자인에 대해서 (Material Design)

목 차1. 머티리얼 디자인 (material design)?2. 구글 I/O 2015 : Material Now3. 참고1. 머티리얼 디자인 (material design)?앱을 개발할 때, 항상 걸림돌이 되는 것이 UI/UX다. 프로그래머들이 특히 힘들어하는 (못하기도 하고) 부분인데 이와 관련해서 구글에서 발표한 가이드라인이 있다. material design이라고 하는데 이 디자인 가이드의 궁극적인 목표는 ‘비주얼 언어’를 만드는 것이라고 한다. 간단한 예를 하나 들자면 서류철, 책, 종이 같이 손으로 만질 수 있는 것으로 쌓여 있을 때, 사람들은 어떤 것이 위에 있는지, 혹은 아래에 있는지 고민하지 않는다. 하지만 스마트폰, 태블릿에서의 UI는 명확하게 순서를 표현해주지 않는다. 만약 이런 실생활..

강에바
'소프트웨어' 카테고리의 글 목록 (3 Page)