http://hopeis.tistory.com/123
http://blog.naver.com/muggae/50010211722

VC로 DLL 만드는 경우에 def를 사용하지 않고 extern을 사용하는 경우에 VB에서 호출이 안된다.
이런 문제가 발생하는 이유는 볼랜드의 경우에 stdcall 호출 타입인 경우에는 extern "C"를 하면 함수 이름 그대로 export가 되지만, VC의 경우에 extern "C"를 하여도 prefix와 postfix가 붙게 되어 함수 이름이 변경되어 export 된다.
볼랜드 계열만 사용하다 VC에서는 왜 제대로 안되나 싶었는데 아래 자료를 읽어보니 명확해졌다.

# function_name_with_extern_c.png from Calling conventions for different C++ compilers and operating systems

Posted by Gu Youn
,
Head First iPhone Development  책 읽으면서 내용 정리 목적으로 작성한 글이므로 자세한 내용이 궁금하신 분은  Head First iPhone Development 책 사서 보세요. 

# iPhone 3GS 해상도
320 x 480

(1). SDK 설치

SDK 다운로드
기본경로 /Developer/Applications에 설치되며, XCode 아이콘을 Dock에 등록해둔다 

(2).  간단한 샘플 만들기
1.  Xcode 실행 ->  Create a new Xcode project -> iOS의 Application 선택 -> View-based Application 선택




2. Xcode 프로젝트 창


- Classes: Objective-C 파일 코드
- Other Sources: 메인함수, pre-compiled header
- Resources: 인터페이스 빌더(*.xib), 그림, 데이터, 프로퍼티 리스트
-  Frameworks: 현재 사용하고 있는 라이브러리

3. 인터페이스 빌더 UI
위에서 생성한 프로젝트 firstSampleViewController.xib 파일을 클릭하면 인터페이스 빌더가 실행 됨


- nib 파일: NeXTStep Interface Builder 약자

4. UI 관련 코드 작성
# header file
 

# source file

# 인터페이스 빌더에서 컨트롤과 코드 연결
레이블 컨트롤 선택후 control + 클릭 -> 리스트 박스에서 File's Owner연결 후 decisionText 선택 

# 이벤트 연결
버튼 컨트롤 선택후 control + 클릭 -> 리스트 박스에서 File's Owner연결 후 buttonPressed 선택 

- IBOutlet : 코드가 화면의 어떤 객체를 참조
- IBAction : 이벤트가 발생했을 때 코드의 메소드를 실행

5. 작성한 샘플 다운로드




Posted by Gu Youn
,
별도의 디렉토리에 음악 파일을 따로 관리하다가 iTunes Media로 모아서 관리를 해보려고 다음처럼 설정을 변경했다. 


설정 변경 후에 디렉토리를 보관함에 추가하면 이상하게도 같은 노래가 리스트에 중복해서 등록돼서 한참을 지우고 등록하는 것을 반복하다가 기존 음악파일 있던 디렉토리를 살펴보니 m3u 파일이 있어서 보관함에 중복해서 등록된 거였다. ㅠ.ㅠ 

기존 음악 디렉토리에서 m3u 확장자 파일 검색해서 모두 삭제하고 등록하니 중복해서 생기는 거 없이 제대로 추가가 되었다. 요즘에는 이런 사소한 것도 한참 헤매게 된다. ㅎㅎ
Posted by Gu Youn
,
2년 전에 vmware에 설치해놓은 윈도우를 사용할 일이 생겼는데 암호가 도저히 기억이 안나고 그렇다고 새로 설치하기에는 시간이 너무 아까워서 암호 초기화 하는 방법을 찾아보니 부팅 시디 이미지로 제공해주는 프로그램이 있어서 쉽게 해결할 수 있었는데 다음을 위해서 블로그에 올려 둔다.

# 프로그램 사이트
http://pogostick.net/~pnh/ntpasswd/

# iso 이미지

Posted by Gu Youn
,

SPC-3100s

Computer 2010. 1. 1. 01:24
국민학교 3학년 때 부모님 졸라서 처음으로 갖게된 컴퓨터 이다. 2000년 즈음까지는 창고에 보관하고 있었는데 나도 모르게 어머니가 버리셔서 지금 내손에 없다는게 아쉽다는 생각이 든다.


사진 출처
http://comandgame.tistory.com/29
Posted by Gu Youn
,

CUDA Basic #1

Computer/CUDA 2009. 11. 18. 00:45
CUDA를 사용하기 위해서 가장 먼저 thread의 계층 구조에 대해서 알아야 된다. 
CUDA의 thread 구조는 thread -> block -> grid로 이루어 지며, GPU에서 실행되는 함수 코드에서는 내부에서 각 level 관련 변수를 사용할 수 있어서, 이 변수를 사용하여 병렬 프로그램을 작성하면 된다.

treadIdx.x / threadIdx.y / threadIdx.z
blockIdx.x / blockIdx.y / blockIdx.z
blockDim.x / blockDim.y / blockDim.z

threadIdx.x - thread ID within block
blockIdx.x - block ID within grid
blockDim.x - number of threads per block

From CUDA Technical Training Volume I

'Computer > CUDA' 카테고리의 다른 글

VC에서 cu 파일 컴파일 하기(CUDA)  (0) 2009.10.26
Posted by Gu Youn
,
CUDA Toolkit에 포함된 Monte Carlo 예제의 속도를 보고 프라이싱 모듈 만드는데 사용하면 좋겠다는 생각이 들어서, 시간 날때마다 조금씩이라도 자료를 정리해서 올릴 생각이다.

# 이 글에서는 VC를 개발환경으로 사용한다.
VC에서 빈 프로젝트를 만들고, cu파일에 대해서는 Custom Build로 nvcc를 사용하도록 설정하는 방법에 대해서 설명한다.

# CUDA SDK 설치되었다고 가정한다.

1. VC에서 empty project를 생성한다. 


2. NVIDIA 사이트에서 연습 파일을 다운 받아 압축을 푼다.
본 문서에서는 비주얼 스투디오 연습 (윈도우)를 사용한다.



3. \myFirstKernel\solution의 myFirstKernel.cu 파일을 위에서 생성한 프로젝트 폴더에 복사한다.


4. 프로젝트에 myFirstKernel.cu 파일을 추가한다.


( 5. Matching Custom Build Rule Not Found 다이얼로그에서 No를 클릭한다. )

6. custom build 설정을 위해 solution explorer에 등록된 myFirstKernel.cu를 선택하고 properties를 클릭한다.


7. Custom Build 설정을 위하여 general 항목의 Command Line에 다음 내용을 입력한다. 
- Debug
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)

- EmuDebug
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)

- EmuRelease
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)

- Release
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)



8. 프로젝트의 속성을 다음처럼 수정한다.
- Additional Library Directories에 $(CUDA_LIB_PATH)를 입력한다.
- Additional Dependencies에 cudart.lib를 입력한다.
EmuDebug, EmuRelease의 경우에 프로젝트 속성을 더 수정하여야 하는데 그에 관한 것은 그것은 추후 작성 예정

PS: 위에 나온 대로 했는데 컴파일이 안된다면, Exercise에 포함된 프로젝트를 열어서 프로젝트 속성을 비교하면서 수정하면 될것이다.





9. F7를 눌러 Builde를 하고, ctrl + F5를 눌러 실행하여, 다음 화면처럼 나오면 성공이다.


'Computer > CUDA' 카테고리의 다른 글

CUDA Basic #1  (0) 2009.11.18
Posted by Gu Youn
,
노트북이나 데스크탑, 또는 외장 하드와 로컬 디스크의 동기화에 Total Commander의 synchronize를 사용하고 있었는데 지난 주 부터 제대로 sync가 안된다. 내 컴퓨터가 문제인건지 아니면 복사하려는 파일에 이상이 있는 건지 sync하고 나서도 누락되는 파일이 일부 생긴다. 윈도우 탐색기로 복사를 해도 누락되는 파일이 일부 있고 파일 복사에 너무 시간이 오래 걸린다.

위와 같은 문제가 있을 경우에 robocopy를 사용해보자.
간단한 사용법은 아래와 같고 자세한 내용은 http://en.wikipedia.org/wiki/Robocopy 참조하자.

다음의 명령은 c:\computer 폴더를 d:\computer에 복사하고, 소스에 없는 내용은 삭제한다.
robocopy c:\computer d:\computer /e /purge


추가) 
Windows XP인 경우에는 다음 사이트에서 Resource Kit Tools를 다운 받아서 설치하면 됨
http://www.microsoft.com/downloads/en/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

'Computer > etc' 카테고리의 다른 글

Visual Basic 6.0 - mouse wheeel  (0) 2009.08.06
Firefox 스크롤 조정하기  (0) 2009.03.08
USB 바이러스 예방  (0) 2009.02.14
USB 메모리 초기화  (0) 2009.01.12
컴퓨터 관련 북마크 정리 - 20080720  (0) 2008.07.20
Builder 와 Delphi 컴포넌트 설치 규칙  (0) 2008.07.20
블로그 사이드바에 adsense 붙이기  (0) 2008.02.04
Posted by Gu Youn
,