32bit 환경에서 작성된 소스를 64bit로 옮겨갈 때 고려할 것들이

accent88의 이미지

지금까지 대부분의 프로그램들이 16비트 내지는 32비트 시스템용으로 만들어졌고 소스코드도 특별히 64비트를 고려하지는 않았을 거라고 생각되는데... 만약 그러한 소스를 빌드해서 64비트에서 돌아가게 하려면 어떤 것들을 고려해야 할까요? 간단히 재빌드해서는 프로그램이 돌아가지 않더군요. 이미 경험하신 분들의 조언을 듣고 싶습니다.

다크슈테펜의 이미지

변수 크기의 변화 배열의 변화 포인터 점검등이 필요하지 않을까요....?

인생이란게 다 그런게 아니겠어요....? 뭘(?)
http://schutepen.egloos.com

dopesoul의 이미지

변수크기변화 (char,int,long 형등)
정도만 고려하셔도 괜찮을듯 한데요
만약에 선언한 변수가 포인터라면 더 문제가되겠지만요

그래서 typedef 를 이용하여 선언들을 많이 합니다...

소리의 이미지

외부(예를 들어 파일)에 입출력되는 변수 선언시 <stdint.h>를 애용하면 좋을 것 같습니다.

32비트 프로그램에서 사용하던 데이타를 64비트 프로그램에서도 사용할 수 있게요. =)

IsExist의 이미지

int 형 타입을 long으로 사용해서 작성하면 됩니다.
(anytype *) 에대한 연산을 *4 가 아닌 *8 로 해야한다는것. 이건 sizeof (type *) 씩으로 쓴다면 문제 없습니다.

FILE 관련 io 함수들은 preprocessing 될때 64비트 환경이면 해당 64비트 함수를 호출할 수 있게 처리됩니다.

time_t 같은 정의도 그대로 time_t 로 사용하는걸 추천하고요.

음. 이외 생각나는건 더 없네요.

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

cbycby의 이미지

IsExist wrote:
int 형 타입을 long으로 사용해서 작성하면 됩니다.
(anytype *) 에대한 연산을 *4 가 아닌 *8 로 해야한다는것. 이건 sizeof (type *) 씩으로 쓴다면 문제 없습니다.

FILE 관련 io 함수들은 preprocessing 될때 64비트 환경이면 해당 64비트 함수를 호출할 수 있게 처리됩니다.

time_t 같은 정의도 그대로 time_t 로 사용하는걸 추천하고요.

음. 이외 생각나는건 더 없네요.

long 보다는 size_t를 사용하는게 좋지 않을까요?

http://www.korone.net QT 커뮤니티 사이트

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.