gcc에관한 초보적인 질문을 드립니다!

익명 사용자의 이미지

제가 .cpp파일을 가지구 변환을 하구 있는데여....

.cpp-> .s -> .o ->.exe루 만들라구 하는데여... 오브젝트 화일을 링크를

통해 변환을 시킬라구 하는데, ld hanoi.o라구 하면 printf와 main함수에

관한 라이브러리를 찾으라구 하네여... 그래서 main함수에 관한 라이브러

리인 crt0.o를 찾았더니 여기선 또 cygwin_crt를 찾으라구 하네여...

이건 아무리 뒤져두 없던데.... 글구 printf에 관한 라이브러리는 아예못

찾겠네여 printf와 main함수에 관한 라이브러리를 찾아야 하는데여.... 아

시는 고수님들을 꼭 좀 도와주세여!!!!

익명 사용자의 이미지

먼저 검색하세요. 바로 밑에 있는데요.

익명 사용자의 이미지

저두 보구 질문을 드리는 건데여...

제가 궁금한건 오브젝트 파일을 링크할 때에 방법이 궁금해서여...

ld 명령어를 상용해서 링크할라구 하는데 해당 라이브러리를 알 수 가 없

어서여... 밑의 답글을 보니까 경로 설정 부분에 대한 설명이 없어서여...

밑의 설명에서 ld 뒤에 써야하는 경로지정 방법을 몰라서여...

라이브러리 화일을 이용해서 직접 링크 할라구 하거든여...

예를 들어서 이런식으로여

ld -o hanoi hanoi.o crt0.o.... 그런데 printf에관한 라이브

러리 함수랑 crt가 참조해야할 cygwin_crt에 대해서 알수가 없어서여..


도와주세여!!!^^

링크합니다. ld 뭐시뭐시뭐시
이거저거 패스넣고 목적파일 지정하고 아웃형태지정하고 우째우째 하면 실
행파일로 바꿔집니다.
GNU assembler version 2.10.91 (i386-redhat-linux) using BFD version
2.10.91.0.2
/usr/lib/gcc-lib/i386-redhat-linux/2.96/collect2 -m elf_i386 -
dynamic-linker /lib/ld-
linux.so.2 /usr/lib/gcc-lib/i386-redhat-
linux/2.96/../../../crt1.o /usr/lib/gcc-lib/i386-
redhat-linux/2.96/../../../crti.o /usr/lib/gcc-lib/i386-redhat-
linux/2.96/crtbegin.o -
L/usr/lib/gcc-lib/i386-redhat-linux/2.96 -L/usr/lib/gcc-lib/i386-
redhat-
linux/2.96/../../.. /tmp/ccJuaKVz.o -lgcc -lc -lgcc /usr/lib/gcc-
lib/i386-redhat-
linux/2.96/crtend.o /usr/lib/gcc-lib/i386-redhat-
linux/2.96/../../../crtn

익명 사용자의 이미지

그것은..gcc가 한 짓을 낫낫이 보여 준 것입니다. gcc 로 실행파일이 만들
어 졌다면 gcc 가 아마 딱 그짓만 했다는 말입니다. 그러니까 그것이 s
o exe out 다 만든 짓이란 소리니까 그것이 다 만들어 내는 방법입니다.
적힌 고대로 쳐 보시요. 두줄에 적힌거는 다 한줄입니다. 그렇게 경료 지
정합니다.

익명 사용자의 이미지

답변 감사드립니다!

그렇다면.... 링크를 위해서는 그많은 경로를 다지정해주구 관련 파일들을

다 링크 해주어야 하는 것 같던데 그럼 사실상 일일이 ld 명령어를 이용해

서 지정해 주는 것은 매우 복잡해서 ld루 컴파일하기란 사실상 불가능 한

일이가여?

댓글 달기

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