프로그래밍 공부2011.02.08 09:11
 일반적으로 비주얼 스튜디오를 설치하고 소스를 컴파일하려면 솔루션이나 워크스페이스를 만들고 소스파일(.c 혹은 .cpp 파일)을 생성하거나 추가해 준 후에 컴파일을 할 수 있습니다. 하지만 경우에 따라서 메모장으로 짧은 코드를 만들고 그것을 시험해 보기 위해서라면 이 과정이 귀찮을 수도 있습니다. 

 사실 비주얼 스튜디오에서 소스파일을 컴파일 하기 위한 프로그램은 cl.exe입니다. 하나의 파일을 컴파일 하기 위해서는 cmd창을 열어 다음과 같이 입력하면 컴파일을 할 수 있습니다. (이에 앞서 vcvars32.bat를 실행해야 합니다.)


 이렇게 cl.exe파일을 이용하여 소스파일을 컴파일 할 수 있는 점을 활용하여 좀더 편하게 소스파일을 컴파일 할 수 있는 배치파일을 만들어 보았습니다. 배치파일의 내용은 다음과 같습니다.


 ※ VCDIR은 비주얼 스튜디오의 버전에 따라 cl.exe와 vcvars32.bat가 있는 경로를 바꾸어 주어야 할 수 있습니다.

소스보기


이 배치파일을 두가지 모드로 동작합니다.

1. 컴파일 할 파일들을 선택하고 선택된 파일을 배치파일에 드레그 해 놓으면 그 파일들을 컴파일 합니다.


 ※ 헤더파일은 선택을 하지 말아야 하고, 소스파일의 갯수가 9개 이하여야 합니다. 소스파일의 갯수가 9개 이상인 경우에는 2번의 방법을 사용해야 합니다.

2. 한 폴더에 컴파일하고 싶은 소스파일과 배치파일을 복사해 놓고 배치파일만 실행하여 그 폴더에 있는 모든 소스파일을 컴파일 합니다.



배치파일은 밑에서 다운받을 수 있습니다.
Posted by anrocud

안드로이드에서 프로그램을 만들 때 PreferenceActivity를 사용하면 그 프로그램의 설정을 쉽게 저장해 놓을 수 있습니다. 하지만 쉽게 사용할 수 있는 만큼 수정하기는 좀 어렵게 되어있죠. 그런데 EditTextPreference에서 조건을 검사할 수 있었으면 할 때가 있습니다. 그래서 우선은 다음과 같이 listener를 넣어보려했습니다.

그런데 위의 코드를 그대로 onCreate()함수에서 적용시켰더니 NullPointerException이 발생했습니다. 다이얼로그가 생성되지 않았기 때문이죠. 이 문제를 해결하기 위해 다이얼로그가 생성되는 시점인 preference가 클릭된 시점에서 위의 코드를 적용시켜봤습니다. 그래서 결과적으로 제대로 동작하는 코드는 다음과 같습니다.

안드로이드 2.1기준에서 컴파일할 수 있는 코드도 첨부합니다.
Posted by anrocud

우선 안드로이드 2.1에서 주소록을 불러오는 방법입니다.


그렇지만 이 코드는 안드로이드 1.6에서는 동작하지 않습니다. URI와 그 DB에서 쓰이는 열이름이 다르기 때문이죠. 그래서 1.6버전에서 주소록을 불러오려면 URI와 DB에서 쓰이는 열이름을 다른 클래스로 바꾸어야 합니다. 다음과 같이 말이죠.

자 이렇게 하고 나서 마지막으로 잊으면 안되는 것이 AndroidManifest.xml 파일에 권한을 지정하는 것이죠. permissions탭에 가서 "android.permission.READ_CONTACTS"을 추가해줍니다.

이렇게 하고 ListView에 넣으면 다음과 같이 나옵니다.

위 그림처럼 주소록을 보여주는 application도 올려봅니다. 버전 별로 있습니다.

안드로이드 2.1용:

안드로이드 1.6용:
Posted by anrocud

 Visual Studio 2008에서 유니코드로 프로젝트를 설정한 후 _tWinMain을 사용하여 컴파일을 해보니 위와 같은 오류가 발생하였다. wWinMain으로는 잘 되는것 같은데 엔트리 포인트가 ___tmainCRTStartup로 되어 있어서 계속 해맸는데 결국 tchar.h header만 포함하면 잘 되는 부분이었다. 유니코드로 컴파일할 때는 tchar.h를 꼭 include하자!!!

Posted by anrocud

Resource editor에서 다음과 같이 써 놓고 왜 컴파일을 하면 한글을 써 놓은 부분이 ??와 같이 깨져서 나오는지 오랫동안 고민을 했었다. 컴파일을 할 때에도 깨져서 나오지만 이 문제를 해결하지 않고 저장을 하면 글자가 깨져서 저장되기 때문에 다시 불러와도 복구를 할 수 없게 된다.

<Resource editor 화면>

<compile 후 화면>

사실 문제는 간단한 곳에 있었다. 다이얼로그의 언어 설정이 영어로 되어있어서 한글이 표시가 안되는 것인데 이것을 한글로 바꾸어주면 한글이 잘 표시된다.


Resource view에서 dialog의 속성을 선택하면 언어 설정을 바꿀 수 있다.

<Dialog의 속성 화면>

언어 설정을 한국어로 바꾸어 준 후에 다시 컴파일을 해보면 다음과 같이 한글이 정상적으로 출력된다.

Posted by anrocud
다운로드

소스보기

Posted by anrocud