| 이전 글 :: 다음 글 |
| 글쓴이 |
메시지 |
xxfree86 lunatic of mac


가입: 2004년 2월 25일 올린 글: 134
|
|
| 위로 |
|
 |
BB90020 master

가입: 2003년 11월 1일 올린 글: 416
|
Posted: 토 10월 23, 2004 6:07 pm 주제: |
|
|
감사합니다.. 안그래도 xx같은 alz파일때문에 골치아픈 일이 많았는데 이젠 쉽게 해결할수 있게 되었군요.^^ _________________ http://macinside.co.kr |
|
| 위로 |
|
 |
koder beginner

가입: 2004년 10월 24일 올린 글: 5
|
Posted: 일 10월 24, 2004 7:12 am 주제: 소스수정 확인 부탁드립니다. |
|
|
소스 공개후 알려진 문제점과 님께서 고쳐주신 부분을 반영하여서
다시 파일을 만들어 보았습니다..
그런데, 제가 맥이 없는 관계로 컴파일을 해볼수가 없네요.
http://www.kipple.pe.kr/temp/unalz.tgz
에 있는 파일을 다운로드 받으셔서 테스트좀 해주셨으면 합니다.
으로 컴파일 가능합니다.
* 파일을 수정하시게 되면 수정된 파일을 홈페이지에 있는 메일주소로 보내주셨으면 합니다. ( 패치파일 말고요.. ) |
|
| 위로 |
|
 |
xxfree86 lunatic of mac


가입: 2004년 2월 25일 올린 글: 134
|
Posted: 일 10월 24, 2004 8:23 am 주제: Re: 소스수정 확인 부탁드립니다. |
|
|
| koder 씀: | 소스 공개후 알려진 문제점과 님께서 고쳐주신 부분을 반영하여서
다시 파일을 만들어 보았습니다..
그런데, 제가 맥이 없는 관계로 컴파일을 해볼수가 없네요.
http://www.kipple.pe.kr/temp/unalz.tgz
에 있는 파일을 다운로드 받으셔서 테스트좀 해주셨으면 합니다.
으로 컴파일 가능합니다.
* 파일을 수정하시게 되면 수정된 파일을 홈페이지에 있는 메일주소로 보내주셨으면 합니다. ( 패치파일 말고요.. ) |
훌륭한 프로그램 제작해주셔서 감사합니다.
링크해주신 소스를 컴팔해서 영문파일/디렉토리,한글파일/디렉토리,한+영파일/디렉토리등이 포함된 분할압축파일을 테스트해보았으며 일단은 잘 동작합니다.
파일이름의 캐릭터셋 변환기능은 옵션으로 활용할 수 있도록 일반화하면 좋을것 같습니다.
멋진프로그램 다시한번 감사드리구요. 좋은 휴일 되시기 바랍니다.
실행파일입니다:
http://xxfree87.hihome.com/unalz_02_for_osx_by_original_author.tar.gz |
|
| 위로 |
|
 |
aqua0125 heavy mania

가입: 2003년 8월 16일 올린 글: 90 위치: 서울
|
Posted: 일 10월 24, 2004 1:43 pm 주제: |
|
|
파일이름 conversion 은.. 옵션으로 활용할 수 있도록 고쳐봤습니다만..
...
getopt로 .. 옵션 파싱해낸 부분을 좀 -_-;; 테스트성으로 해놔서;;;;;
누군가 고쳐주실거라 믿습니다
http://www.kipple.pe.kr/temp/unalz.tgz 를 기반으로 작업했고..
http://mytears.org/unalz.patch
kldp bbs의 ganadist님이 수정해주신 makefile과..
getopt를 사용하도록 약간의 패치를 했는데..
-f from_codeset
-t to_codeset
식으로 사용하면 되기는 하지만.. 둘 다 명시하지 않을 경우..
아예 conversion 을 하지 않도록 했습니다..
그렇게 할 경우.. 한글 파일을 만나면 unalz가 bus error를 냅니다..
bus error를 유발시키는 fwrite 위에 주석을 달아놓기는 했는데..
어떻게 해결해야 할 지는 모르겠군요
누군가 고쳐주실거라 믿습니다..
http://bbs.kldp.org/viewtopic.php?p=202156#202156
kldp bbs에 있는 쓰레드와.. 겹치는거 같아 링크도 겁니다  _________________ --------------------------------------
http://mytears.org ~(~_~)~
삶은 산보다 무겁다!! |
|
| 위로 |
|
 |
koder beginner

가입: 2004년 10월 24일 올린 글: 5
|
Posted: 일 10월 24, 2004 6:12 pm 주제: 테스트 부탁드립니다. |
|
|
여러분들의 도움으로 이것저것 수정하여서
http://www.kipple.pe.kr/win/unalz/
에 테스트버전을 올려 놓았습니다...
테스트 부탁드리겠습니다.
target 을 darwin 으로 하면 무조건 utf-8 을 쓰도록 하였습니다..
( 기타 다른건 전부 make target 을 추가하도록 하였습니다.. )
님들덕분에 즐거운(?) 주말이 되어 버렸군요. T.T
덕분에 제가 술이고픈 관계로 0.21 정식버전은 beerware 로 바꾸는걸 고려중입니다.. |
|
| 위로 |
|
 |
aqua0125 heavy mania

가입: 2003년 8월 16일 올린 글: 90 위치: 서울
|
Posted: 일 10월 24, 2004 10:25 pm 주제: |
|
|
koder 님.. kldp.net 등에.. 자리를 틀어 보는건 어떨까요
unalz의 경우.. 많은 사람들이 필요로 하던 툴이고..
많은 사람들이 호응하고 있는데 말이죠 헤헷;;; _________________ --------------------------------------
http://mytears.org ~(~_~)~
삶은 산보다 무겁다!! |
|
| 위로 |
|
 |
koder beginner

가입: 2004년 10월 24일 올린 글: 5
|
Posted: 일 10월 24, 2004 11:32 pm 주제: |
|
|
| aqua0125 씀: | koder 님.. kldp.net 등에.. 자리를 틀어 보는건 어떨까요
unalz의 경우.. 많은 사람들이 필요로 하던 툴이고..
많은 사람들이 호응하고 있는데 말이죠 헤헷;;; |
kldp 는 가끔 들르기는 하지만 전 unix 쪽은 쥐약이라서요..
그냥 가끔 구경만 하죠.. |
|
| 위로 |
|
 |
aqua0125 heavy mania

가입: 2003년 8월 16일 올린 글: 90 위치: 서울
|
|
| 위로 |
|
 |
xxfree86 lunatic of mac


가입: 2004년 2월 25일 올린 글: 134
|
Posted: 월 10월 25, 2004 1:24 am 주제: Re: 테스트 부탁드립니다. |
|
|
| koder 씀: | 여러분들의 도움으로 이것저것 수정하여서
http://www.kipple.pe.kr/win/unalz/
에 테스트버전을 올려 놓았습니다...
테스트 부탁드리겠습니다.
target 을 darwin 으로 하면 무조건 utf-8 을 쓰도록 하였습니다..
( 기타 다른건 전부 make target 을 추가하도록 하였습니다.. )
님들덕분에 즐거운(?) 주말이 되어 버렸군요. T.T
덕분에 제가 술이고픈 관계로 0.21 정식버전은 beerware 로 바꾸는걸 고려중입니다.. |
찜찜한 경고메시지를 제거하려면...
| 코드: |
# define swapint64(Data) (INT64) (
(((Data)&0x00000000000000FFLL) << 56) |
(((Data)&0x000000000000FF00LL) << 40) |
(((Data)&0x0000000000FF0000LL) << 24) |
(((Data)&0x00000000FF000000LL) << 8) |
(((Data)&0x000000FF00000000LL) >> 8) |
(((Data)&0x0000FF0000000000LL) >> 24) |
(((Data)&0x00FF000000000000LL) >> 40) |
(((Data)&0xFF00000000000000LL) >> 56) )
|
처럼 상수 뒤에 롱롱(LL)을 붙여주면 되는군요.
http://www.osxdev.org/forum/viewtopic.php?t=379&start=0&postdays=0&postorder=asc&highlight=int64
iconv의 'const char **' <-> 'char **'컨버전 경고는
| 코드: |
iconv_result = iconv(cd,(const char**)&inptr, &ileft, &outptr, &oleft);
|
로 해결했습니다.
그냥 팁정도수준이라 패치맹굴기도 그렇고 해서...
Makefile이 모습을 갖춰 나가는 걸 보니 덩달아 기분좋군요.
BCB6팁.
Borland Cpp Builder 6의 VC++ 프로젝트 컨버전기능으로 컨버전 하고서 생긴 프로젝파일(bpr)에서 SYSDEFINES섹션의 '_MSC_VER=1100;'를 제거하고 컴팔하면 'STL호환성검사'를 통과하고 잘 컴팔 됩니다. |
|
| 위로 |
|
 |
koder beginner

가입: 2004년 10월 24일 올린 글: 5
|
Posted: 월 10월 25, 2004 9:52 am 주제: |
|
|
그렇군요.. int64 를 어찌해야 하나 하고 있었는데.. LL 이란게 있었군요.
그런데 const char** 문제는 고민을 좀 해야될것 같습니다.
저도 저 에러를 보고 const char** 로 바꾸어 보았는데..
일부 시스템에서는 함수에서 char** 를 받게 되어 있더군요.
char** 를 const char** 를 바꾸면 warning 이지만
반대의 경우는 error 이라서 그냥 char** 로 놔둘까 생각중 입니다. |
|
| 위로 |
|
 |
koder beginner

가입: 2004년 10월 24일 올린 글: 5
|
Posted: 금 10월 29, 2004 12:38 pm 주제: |
|
|
기존의 makefile 에서 구분하던 방식을 버리고
소스 내에서 os 를 판단하도록 수정하였습니다..
__FreeBSD__ __linux__ _WIN32 와 같은 식으로요..
그런데 매킨토시는 어찌되는지 몰라서 __DARWIN__ 으로 판단하도록
했는데.. 잘 돌아가는지 모르겠네요. |
|
| 위로 |
|
 |
xxfree86 lunatic of mac


가입: 2004년 2월 25일 올린 글: 134
|
Posted: 금 10월 29, 2004 2:36 pm 주제: |
|
|
| koder 씀: | 기존의 makefile 에서 구분하던 방식을 버리고
소스 내에서 os 를 판단하도록 수정하였습니다..
__FreeBSD__ __linux__ _WIN32 와 같은 식으로요..
그런데 매킨토시는 어찌되는지 몰라서 __DARWIN__ 으로 판단하도록
했는데.. 잘 돌아가는지 모르겠네요. |
| 코드: |
mario-osx:~ mario$ uname -a;gcc -v
Darwin mario-osx.local 7.5.0 Darwin Kernel Version 7.5.0: Thu Aug 5 19:26:16 PDT 2004; root:xnu/xnu-517.7.21.obj~3/RELEASE_PPC Power Macintosh powerpc
Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1666)
mario-osx:~ mario$ gcc -dM -E - < /dev/null
#define __DBL_MIN_EXP__ (-1021)
#define __FLT_MIN__ 1.17549435e-38F
#define __CHAR_BIT__ 8
#define __WCHAR_MAX__ 2147483647
#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
#define __FLT_EVAL_METHOD__ 0
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __GNUC_PATCHLEVEL__ 0
#define __SHRT_MAX__ 32767
#define __LDBL_MAX__ 1.7976931348623157e+308L
#define _ARCH_PPC 1
#define __APPLE_CC__ 1666
#define __LDBL_MAX_EXP__ 1024
#define __SCHAR_MAX__ 127
#define __DBL_DIG__ 15
#define __USER_LABEL_PREFIX__ _
#define __STDC_HOSTED__ 1
#define __FLT_EPSILON__ 1.19209290e-7F
#define __LDBL_MIN__ 2.2250738585072014e-308L
#define __ppc__ 1
#define __strong
#define __APPLE__ 1
#define __DECIMAL_DIG__ 17
#define __DYNAMIC__ 1
#define __GNUC__ 3
#define __DBL_MAX__ 1.7976931348623157e+308
#define __DBL_MAX_EXP__ 1024
#define __LONG_LONG_MAX__ 9223372036854775807LL
#define __GXX_ABI_VERSION 102
#define __FLT_MIN_EXP__ (-125)
#define __DBL_MIN__ 2.2250738585072014e-308
#define __REGISTER_PREFIX__
#define __NO_INLINE__ 1
#define __FLT_MANT_DIG__ 24
#define __VERSION__ "3.3 20030304 (Apple Computer, Inc. build 1666)"
#define __BIG_ENDIAN__ 1
#define __SIZE_TYPE__ long unsigned int
#define __FLT_RADIX__ 2
#define __LDBL_EPSILON__ 2.2204460492503131e-16L
#define __NATURAL_ALIGNMENT__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 2147483647L
#define _BIG_ENDIAN 1
#define __LDBL_MANT_DIG__ 53
#define __WCHAR_TYPE__ int
#define __FLT_DIG__ 6
#define __INT_MAX__ 2147483647
#define __MACH__ 1
#define __FLT_MAX_EXP__ 128
#define __DBL_MANT_DIG__ 53
#define __WINT_TYPE__ unsigned int
#define __LDBL_MIN_EXP__ (-1021)
#define __LDBL_MAX_10_EXP__ 308
#define __DBL_EPSILON__ 2.2204460492503131e-16
#define __FLT_DENORM_MIN__ 1.40129846e-45F
#define __FLT_MAX__ 3.40282347e+38F
#define __FLT_MIN_10_EXP__ (-37)
#define __GNUC_MINOR__ 3
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
#define __PTRDIFF_TYPE__ int
#define __LDBL_MIN_10_EXP__ (-307)
#define __LDBL_DIG__ 15
#define __POWERPC__ 1
|
__APPLE__ 정도가 어떨까 싶습니다만...
http://predef.sourceforge.net/
음.. 바이트오더뒤집기 함수가 이미 존재하고 있었군요..퍼헐...
le16toh, le32toh, le64toh 함수의 프로토타입 위치가 endian.h는 아닌것 같고...(어디일까?)
<machine/byte_order.h> 를 include하고
| 코드: |
inline UINT16 unalz_le16toh(UINT16 a){return NXSwapShort(a);}
inline UINT32 unalz_le32toh(UINT32 a){return NXSwapLong(a);}
inline UINT64 unalz_le64toh(UINT64 a){return NXSwapLongLong(a);}
|
요렇게 조정하니 하니 컴팔/실행은 문제가 없군요.  |
|
| 위로 |
|
 |
|