SYSCONF(3) Linux Programmer’s Manual SYSCONF(3)
NAME
sysconf - Get configuration information at runtime
SYNOPSIS
#include <unistd.h>
long sysconf(int name);
DESCRIPTION
POSIX allows an application to test at compile or run time whether cer-
tain options are supported, or what the value is of certain config-
urable constants or limits.
...
#include [limits.h] // 꺽쇠 기호는 []로 바꾸었습니다^^
#if ( __WORDSIZE == 64 )
#define bit 64
#elif ( __WORDSIZE == 32 )
#define bit 32
#else
#error Platform of system is NOT 64 or 32 bits
#endif
단순히 32비트냐? 64비트냐? 만이라면..
sizeof(long) == 8 ?
[bushi@rose wsegl_android]$
OTL
getrlimit
getrlimit(...RLIMIT_AS...)
답변 감사드립니다.
조언 해주신 세분께 감사드립니다.
근데, sysconf()에는 LONG_BIT를 쓰지 못하더군요.
우분투 64비트에서 우선 테스트 해보았습니다만...
그리고, 구글링하다 찾은건데 아래와 같은 방법도 있더군요.
limit.h에 정의된 '__WORDSIZE'를 참조하는 방법입니다.
또 다른 방법이 있다면, 조언을 부탁드립니다...
------------------ System programmer...^^
------------------ System programmer...^^
man 페이지 띄엄띄엄
man 페이지 띄엄띄엄 보셨군요.
sysconf() 에선 _SC_ 라는 prefix 를 붙여서 사용합니다. 중복정의 방지목적입니다.
_SC_LONG_BIT 죠.
추가.
본문에 쓰신 걸로 보면 런타임에 알아내서 적절하게 동작해야하는 것 같은데...
아래 위의 댓글에 쓰신 걸로 보면 컴파일타임이네요 ?
OTL
지적 감사합니다.
예, 좀 띄엄띄엄 봤네요.
sysconf()는 자주 썼던 함수인데... 당연히 _SC..^^
질문과 댓글의 의도는 다른건 아니고
제 표현력 문제로 이해해 주시믄 감사하겠습니다^^
------------------ System programmer...^^
------------------ System programmer...^^
gcc를 사용하신다면
gcc를 사용하신다면 아래 define 중 하나라도 있으면 64bit 시스템으로 보면 될 것 같은데요?
__alpha__
__ia64__
__ppc64__
__s390x__
__x86_64__
pre-defined macro를
pre-defined macro를 사용해서 하신다면 아래 사이트도 참조해보세요..
http://predef.sourceforge.net/prearch.html
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
markboy님, superkkt님 감사합니다.
도움주셔서 감사합니다.
많은 도움이 되었습니다^^
------------------ System programmer...^^
------------------ System programmer...^^
댓글 달기