도전이란?

카테고리 없음 2014. 2. 24. 05:24

 

모든 준비가 완벽하게 갖추어진 다음에 시작할 수 있는 일은 세상에 아무것도 없다.

그렇다면 좋은 기회조차 오지 않는다.

준비가 되어 있지 않다면 노력을 해서 되어 있도록 만들겠다는 배짱이다.

 

인생에 있어서 도전이란 결코 입맛에 딱 맞는 방식으로 찾아오지 않는다.

그것은 언제나 두 발을 전부 땅에서 떼서 허공에 몸을 완전히 맡겨야 하는

따라서 상당한 불편함과 두려움을 수반하는 방식으로 찾아온다.

 

어렵지만 마음에 쏙 드는 일자리를 만났을 때,

어렵지만 풀어 보고 싶은 문제를 만났을 때,

어렵지만 한 번 걸어보고 싶은 길을 만났을 때,

어렵지만 한 번쯤 말을 꼭 걸어 보고 싶은 이성을 만났을때,

필요한 것은 앞뒤를 재고 따지는 '계산'이 아니라

최선을 다해서 허공에 몸을 맡기는 '용기'

 

때로는 그것을 보고 사람들이

'무모하다', '미련하다', '철이 없다' 라고 말하기도 할 것이다.

하지만 멋진 도전은 어느 정도의 무모함을 동반하기 마련이다.

그리고 그 까짓 거 해버릴 수 있다는 '무모한 용기' 가 필요한 것이다.

그 용기를 가슴에 안고 허공에 몸을 던지는 사람은

그렇지 않은 사람보다 풍요로운 삶을 살수 있기 때문에 행복하다.

 

그리고 한번 시작한 일은 혼신의 힘을 다해서 최선을 다하라는 것이다.

용기를 내서 몸을 허공에 던졌는데 그 다음 일을 수습할 수 없다면

돌아오는 것은 '망신''자신감의 상실'뿐이다.

중요한 것은 결과가 아니라 수습의 과정에서 최선을 다했는가 여부다.

최선을 다하지 못하고 나태해지거나 방심하여 실패를 한 사람은

스스로를 믿을 수 없게 되기 때문에

다시는 허공에 몸을 던지는 용기를 내지 못하게 된다.

 

[임백준 - 나는 프로그래머다 ]

 

어떤 일이든 일단 시작해 보자!

C++ 파일 입출력

프로그래밍/C/C++ 2014. 2. 24. 05:22

파일 클래스는  ifstream, ofstream, fstream으로 지정할수 있고, 개방 모드로는 입출력 동작 모드를

지정하는 ios::in, ios::out등을 사용한다.



의 미 

 in

파일 입력(파일 읽기) 

 out

 파일 출력(파일 쓰기)

 ate

 파일 개방 후, 파일 끝으로 이동

 app

 파일 추가(append)

 trunc

 존재하는 파일 제거(truncate)하고 새로운 파일로 연다

 binary

 텍스트(text)가 아닌 바이너리(binary)로 출력


  

☞ 파일 입출력 간단히 소개

//"data.in" 파일을 입력 파일로 개방

ifstream infile("data.in", ios::in);

 

//"data.out" 파일을 출력 파일로 개방

ofstream outfile("data.out", ios::out);

 

//"myfile.dat" 파일을 입출력 상태로 개방

fstream myfile("myfile.dat", ios::in | ios::out);

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
   ofstream fo("test.dat");
   
   if(!fo) {
      cout << "파일 열기 실패!\n"
      exit(1);
   }
   
   fo << "Hello!\n";
   fo << 123 << " " << hex << 123 << endl;
   fo.close();
 
   ifstream fi("test.dat");
 
   if(!fi) {
      cout << "파일 열기 실패!\n";
      exit(1);
   }
 
   char s[81];
   int n;
   fi >> s >> n;
   cout << s << " : " << n << endl;
   fi.close();
 
   return 0;
}

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    char ch;
    ifstream fin;
    
    fin.open("test.dat");
    if(!fin) {
       cout << "파일 열기 실패\n";
       exit(1);
    }   
    
    fin.unsetf(ios::skipws); // skipws 형식 플래그 클리어, 공백 문자도 입력
    while(!fin.eof()) { // 파일 끝이 아니면
        fin >> ch;
        if(ch == ' ')
          ch = '%';
        cout << ch;
    }
 
    return 0;
}

 

※결과

파일에 test.dat에 다음과 같은 내용이 저장되었을때

Hello, everybody  !

This is a test file test.dat

 

공백마다 %가 출력됨

Hello%everybody%% !

This%is%a%test%file%test.dat

 

'프로그래밍 > C/C++' 카테고리의 다른 글

스마트 포인터  (0) 2014.11.28
메모리 관리 함수(memset, memcpy, memmove)  (0) 2014.10.24
함수 주요 형태(_stdcall, _cdecl, _fastcall)  (0) 2014.02.24
비트 연산자  (0) 2014.02.12
함수 포인터  (0) 2014.02.12

안드로이드 NDK 등 링크 정리

프로그래밍/안드로이드 2014. 2. 24. 04:52

링크

 

경로 추출을 위한 vomoi 세션화 알고리즘

http://blog.daum.net/pg365/108

 

[안드로이드]OpenCV 사용

http://blog.naver.com/budlbaram/50096839292

 

 

[안드로이드]NDK설정1

http://blog.naver.com/budlbaram/50096839292

 

 

[안드로이드]NDK설정2

http://blog.daum.net/haha25/5388307

 

 

[안드로이드] Mixed Processing에러(cannot run program "\ndk-build.cmd" : Launching failed)

http://blog.naver.com/budlbaram/50096839292

 

[STL-vector] 빠른 메모리 해제?

http://blog.naver.com/agbird?Redirect=Log&logNo=120013985975

 

[안드로이드] TabView 위젯

http://androidhuman.tistory.com/151

 

 

[안드로이드] Do-It! 안드로이드 앱 프로그래밍 소스

http://147.46.109.56:9090/town/projects.jsp?sort=1&dir=

 

[안드로이드] How to do real time image processing in Android using OpenCV?

http://147.46.109.56:9090/town/projects.jsp?sort=1&dir=

 

[안드로이드] ndk-build Applicattion.mk / Android.mk 설명

http://blog.naver.com/PostView.nhn?blogId=gustmd38&logNo=70098946678&redirect=Dlog&widgetTypeCall=true

 

[안드로이드] NDK, cygwin, JNI

http://blog.naver.com/PostView.nhn?blogId=777lover&logNo=10144696248&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

 

[안드로이드]Android Native Camera With OpenCV and OpenGLES Android Native Camera With OpenCV and OpenGLES

http://mesai0.blogspot.kr/2013/01/android-native-camera-with-opencv-and.html

 

[안드로이드] 이클립스에서 cygwin 빌드하기

http://blog.naver.com/PostView.nhn?blogId=moorim21&logNo=80140005344http://blog.naver.com/PostView.nhn?blogId=moorim21&logNo=80140005344

 

[안드로이드] JAVACV 포팅

http://aiesko.blog.me/20167784214

 

[안드로이드] android 안드로이드 이클립스 CDT 에서 NDKjni 연동 구현

http://202psj.tistory.com/465

 

[안드로이드] Eclipse에서 add native support를 통한 Android NDK 빌드 환경 구축

http://thdev.net/474

 

[안드로이드] Eclipse 에서 NDK build 연동하기

http://jay0624.tistory.com/11

 

[안드로이드] Eclipse에서 NDK 빌드하기

http://blog.naver.com/PostView.nhn?blogId=jbin_k&logNo=130162077887&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

 

'프로그래밍 > 안드로이드' 카테고리의 다른 글

Android - DB 연동 기술 정리  (0) 2014.02.25
안드로이드 NDK 로그 출력하기  (0) 2014.02.01

함수 주요 형태(_stdcall, _cdecl, _fastcall)

프로그래밍/C/C++ 2014. 2. 24. 04:51

1. _cdecl

C 또는 C++ 프로그램에서 파라미터 전달시 디폴트로 사용

파라미터 전달은 오른쪽에서 왼쪽 방향으로 스택에 저장

파라미터 해제는 프로시저를 호출한 것이 책임짐(스택정리)

 

 

2. _stdcall

Windows API 프로시저에서 사용

파라미터 전달은 _cdecl과 동일

파라미터 해제는 프로시저 복귀 전에 이루어짐

장점

- 함수 독립성이 뛰어남

- 프로시저를 부르기 전에 스택에 파라미터를 쌓아놓고 그 프로시저를 부르기만 하면 그 함수가 리턴된 후에는 그 프로시저의 스택 포인터가

이전 상태로 복원되었으므로 복귀된 후에 호출한 프로시저에 대하여 신경쓸 필요가 없음.

- _cdecl 방식의 콜링컨벤션에 비해 코드 크기가 줄어든다.

- 스택을 해제하는 코드가 호출한 프로시저 안에 있으므로 이 프로시저가 여러 곳에서 호출된다 할지라도 스택 해제하는 코드는

프로시저 내에 하나만 존재함

 

 

3. _fastcall

처음 두 개까지의 파라미터는 스택을 사용하지 않고, ecxedx 레지스터를 사용함

그 이상의 파라미터에 대해서만 오른쪽에서 왼쪽으로 스택에 저장

스택 제거는 _stdcall과 동일

 

'프로그래밍 > C/C++' 카테고리의 다른 글

메모리 관리 함수(memset, memcpy, memmove)  (0) 2014.10.24
C++ 파일 입출력  (0) 2014.02.24
비트 연산자  (0) 2014.02.12
함수 포인터  (0) 2014.02.12
[STL]컨테이너 선택  (0) 2014.02.09