64bit 머신에서 int형이 64bit가 아닌가요?

shs0917의 이미지

int main(void){
printf("size of integer : %d\n", sizeof(int));
return 0;
}

위의 코드를..
gcc -m64 test.c
이렇게 컴파일을 했는데요..
결과가.. size of integer : 4 라고 나오네요..
왜 8이 안나오는건지..ㅠ.ㅠ
CPU는 amp 셈프론 2800+ 64bit이구요..
gcc는 3.3.5입니다..
아.. 우분투 효리에서 컴팔 했습니다..ㅠ.ㅠ
제가 잘못한건가요? 아님 원래 결과가 저런걸까요?
절대 저럴리가 없을텐데.. 고민입니다..
jyoung의 이미지

전에 들은 이야기로는 64bit OS를 쓰지 않으면 AMD의 CPU는 32bit 모드로 돌아간다고 했었던거 같은데.. 우분투 효리면 64bit OS인가요?

될대로 되라지..

shs0917의 이미지

아차.. 제가 그걸 빼먹었네요.. 효리양 64bit용입니다..^^
예전에.. 한창 무료 배송해줄때.. 얼릉 주워온건데..^^
그나저나..
printf("%d\n", sizeof(int64_t));
이렇게 하니까.. 8바이트로 나오네요..
의문점이.. 기본 int형 자체가.. 크기가 정의된게 아니라..
머신에 따라 다르다고 알고 있었는데..
이거 제가 많이 모자른가봐요..
고수님들 가르쳐 주세요..ㅠ.ㅠ

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러

체스맨의 이미지

현재 널리 쓰이는 32비트 머쉰은
정수, 긴정수, 포인터가 모두 32비트인 ILP32 모델입니다.

64비트 머쉰은 대개 긴정수 및 포인터가 64비트인 LP64
모델 입니다. 64 비트 플렛폼에서도 기본 정수는
32비트입니다.

아마 관련된 내용이 유닉스 네트워크 프로그래밍 전반부쯤에
나올 겁니다.

Orion Project : http://orionids.org

shs0917의 이미지

답변 감사합니다.^^
좀 더 많은 조사가 필요할듯 하네요..^^

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러

uriel의 이미지

위의 내용에 좀 미심쩍은 부분이 있어서 찾아보았습니다.

http://www.unix.org/version2/whatsnew/login_64bit.html 한 번 long의 크기를 보세요. 제가 알기로는 윈도우즈 64비트 버전은 LLP64이고 (리퍼런스 : http://www.zdnet.co.kr/builder/dev/dotnet/0,39031607,39136563,00.htm ) Linux는 LP64입니다. 즉, 인트는 두 플랫폼 모두 32비트이지만 long의 경우 리눅스에서는 64비트, 윈도우즈는 계속 32비트죠.

쌀밥의 이미지

저도 최근에 알게된 사실인데..

64비트 머신에서 달라지는 것은 딱 세개 뿐이더군요.

long, pointer type, double long

나머지는 그대로더라구요...

일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.

shs0917의 이미지

답변주신 모든분들께 감사를 드립니다..^^

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.