IT한 것 116

win32 API의 경로 관리 API들

FindFirstFile을 쓰다가 발생하는 문제를 더이상 내버려둘 수 없는 지경이 되었다. 이젠 원 저자 쪼으기도 지쳤고. ㅋ 일단, 경로 생성 및, 경로 문자열을 가지고 노는 API가 있다는 것을 처음 알게 되었다. 특히 공백이 들어간 경로의 경우 쌍따옴표로 묶지 않으면, 못 찾는 문제등. 이런 것에 대한 신경이나 시간 투자를 덜 수 있을 것 같다. PathQuoteSpaces 요놈이다. 굳이 상세한 설명은 내가 할 필요는 없을 것 같고.. 글을 너무 잘 써두셔서 :) 처음으로 해보는 트랙백인데, 어떻게 되려나 ㅎㅎ 트랙백 글

IT한 것/WINDOWS 2011.04.18

다양한 환경에서 subversion을 이용한 개발 환경시 CRLF, LF, EOL 문제.

이미 많은 사람들이 알고 있는것 같지만, 난 이제 알았으니까 기록해본다. :) 내 환경이 subversion 서버는 linux 프로젝트 서버는 linux 프로젝트 클라이언트는 windows/linux 이어서. 클라이언트 작업중에 혼선이 많다. 사실 vim 같은 녀석으로 작업을하면 알아서 잘 변환하여 보여주므로 상관이 없다. 그런데 워낙에 unix 환경에서 놀다보니 AIX 같은 특이 시스템에서는 CRLF(dos)도 되어 있는, 파일을 올바르게 분석하지 못하는 경우가 많다. 그런 이유로 모든 소스 코드는 unix 타입으로 저장하기로 하였는데, 윈도우 개발에 큰 문제가 발생하였다. 빌드나 테스트에는 아무 지장이 없지만, 디버깅모드에 들어가면 LF(unix)로 되어 있는 소스는 현재 실행중인 소스코드의 라인을 ..

IT한 것 2011.04.15

DOS 배치파일에서 명령어 치환(COMMAND Substitution) 또는 backquote

*NIX 환경에서 많이 쓰는 명령어 치환. 다시 말해서 스크립트 내부에서 명령어를 실행하고, 그 명령어의 화면 출력을 변수에 저장하는 것을 말한다. 출력 결과를 변수에 저장 할 수 있음이 많은 것들을 할 수 있게 하므로, 이런 기능이 되는지도 찾아 보았다. 그렇게 만족스럽지는 않았지만, 가능은 하다. 그 방식이란, 명령어 실행 결과를 파일로 redirection (>). 그리고 그 파일로 부터 변수 생성. @ECHO OFF DIR C:\ > LIST.TXT SET /P LIST=< LIST.TXT echo %LIST% 약간의 문제라면,.... echo로 찍어보면 한줄만 보여진다. 이건 FINDSTR랑 잘 조합하거나 환상적으로 복잡한 FOR문을 활용하면 어떻게든 처리하 할 수 있을 것이다. 여차여차 있을건..

IT한 것/WINDOWS 2011.01.14

DOS에서 grep

*NIX와 친하게 놀다보면, shell script와는 친해질 수 밖에 없다. 그러다가 윈도우즈에서 간단한 스크립트를 만들려고하면 대부분 죽상을 한다. 배치파일은 지원하는 기능이 너무 부족하고, 유틸리티도 기본적으로 없는 편이라면서 말이다. 하여튼.. 어머어마한 활용도를 자랑하는 grep 의 기능이 필요해졌다. 그렇다고 grep을 포팅한 것을 가져다 쓰는건 뭔가 아닌 것 같았다. xp계열 부터는 DOS 명령어가 상당 부분 강화 된것 같다. 이름하여 FINDSTR 설명만으로는 GREP과 큰 차이가 없어 보인다. C:\Users\lovian>findstr/? 파일에서 문자열을 찾습니다. FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] ..

IT한 것/WINDOWS 2011.01.14

HP-UX 11.11 에서 라이브러리 링킹 실패

분명히 라이브러리가 있음에도 링킹이 실패하는 경우가 있었다. 때문에 권한, 이름 등등 많은 것을 수정해보았지만 실패했다. 한동안 포기하고 있다가, 또 다시 이슈가 되면서 보게되었다. 무적의 tusc를 설치했다. 추적하니 라이브러리 서칭을 stat -> open 하는 방식을 사용한다. stat("/data/lovian/a/libco.sl", 0x7f81208c) .................................................................... ERR#2 ENOENT stat("/data/lovian/b/libco.sl", 0x7f81208c) .................................................................... ..

IT한 것/unix 2010.12.17

window phone 7 에서의 .net 호환성?

얼핏보면 wp7 제품을 만들려면 .net의 기능으로 만들어내면 될것 같다. 마침 opensource 라이브러리를 가져다가 쓰기 위해서 시험중인데, 엉뚱하게도 ArrayList 클래스가 없다고 한다. mscorlib 라이브러리에 있어야하는 것이 맞는데, 안보인다.. .net 1.1부터 있었는데, 어째서 2.0 기반인 wp7에서는 안보일까? 정확하게 wp7의 메인 프레임 워크가 silverlight 이므로, .net framework 범주와는 일치하지 않는다. http://www.infoq.com/news/2007/07/ArrayList-Gone 이곳을 보면, 런타임 라이브러리의 용량 감소를 위해서 빼버린 클래스가 여럿 있는 것이 확인된다. 때문에 일반 .net 으로 만들어진 소스를 재사용 하는데에는 상당한..

Archive를 -l 로 합치기

이리저리 찾다보면, 이 옵션은 디버깅용으로 빌드시 다른 플랫폼들이 빌드되면, 시간이 걸리는 것을 줄이기 위해서 현재 테스트할 플랫폼에 맞는 것만 빌드하도록 하는 것이라고 한다. 뭐 괜찮은 생각인것 같은데, Archive 를 만드는데 문제가 발생했다. 이상하게 해당 Archive를 이용하면 duplicate symbol 발생으로 링킹에 실패하는 문제가 발생했다. 그것도 기본 설정으로는 아무 문제가 없었는데, -all_load 옵션으로 Archive에 내장된 모든 심볼을 로딩하게 하면, 문제가 발생했다. nm 유틸리티를 이용하여 symbol목록을 확인 한 결과 정말로 모든 symbol이 두 벌씩 들어가는 것을 확인 했다. 프로젝트 옵션의 주요 값으로는 base sdk iPhoneOS 4.0 SDK archi..

SBFormattedPhoneNumber in iPhone OS 4.0 GM Seed

기존 버전에서는 폰의 전화번호를 가져오기 위해서 NSUserDefault 클래스에서 SBFormattedPhoneNumber로 명시된 키에 해당하는 값을 가져오면 되었다. 그런데 허허.. 없다. 혹시 인터페이스라도 생긴건가??? 하여튼 없다. ㅠㅠ 미련을 버리지 못해, 심볼을 뒤지기 시작했다. liblockdown.dylib에서 phonenumber 심볼을 찾았다. (for architecture armv6):liblockdown.dylib: 000082dc S _kLockdownPhoneNumberKey 먼 산을 바라본다. 내부 심볼인것 같다. 쥐쥐. 2010.06.17 쥐쥐는 아닌것 같다. 프로젝트 옵션에서 deployment target을 3.x대로 해두면, 다시 이 값이 나타난다. 새로운 기능을 ..