[급]gcc에서 DLL호출 관련 문제

익명 사용자의 이미지

안녕하세요~ 다들 수거가 많으십니다.

제가 궁금한것은요..비주얼C++에서 제작한 어플리케이션을
DLL로 만들어서 gcc에서 실행할수 있는지의 여부 입니다.
물론 gcc는 윈도우용 Cygwin입니다.
이해를 돕고자 비주얼로 만든 어플리케이션은 간단히 다이얼로그 창을
띄우는 예제이고 이것을 dll만들었다고 한다면 이것을 가지고
gcc에서 dll를 이용하여 윈도우와 똑같은 다이얼로그를 띄울수 있는지
여부 입니다. 물론 어떤 dll로 만들어야 할지도 문제이고
이것을 어떻게 역어야 할지도 문제 입니다.
만일 안된다면..어쩔수 없지만 된다면 어떻게 해야 할지
간단한 예제라도 알려주시면 혹은 관련 홈페이지라도 알려주시면
진짜 무지 감사하겠습니다.
좋은 하루 되시고..복 많이 받으세요

익명 사용자의 이미지

일단, 되구요... 제가 그렇게 쓰고 있습니다.
그런데, 좀 복잡합니다.
저도 옛날에 삽질해서 makefile 로 만들어놓고는
더 이상 안보고 있습니다.

절차는,

1. MS VC++ 에 포함된 dumpbin 유틸리티로
dll 에서 def 파일을 뽑아냅니다.

2. dlltool 로 .dll 에 대한 .a 파일을 만들어 냅니다.
이게 cygwin 링커용 임포트 라이브러리입니다. 보통
유닉스 시스템처럼 링크에 필요한 정보가 DLL 안에는
들어있지 않기 때문에, .a 파일을 만드는 절차가
필요하지요.

.a 만 만들어지면 끝입니다. 그냥 .a 로 링크 명령
주면 되구요...

이게 주요 골자이구요, relocatable dll 을 만드는 데
몇가지를 더 해줘야됐던 걸로 기억합니다. 솔직히
저한테 더 물으시면 제가 과거에 했던 삽질을 다시하기가
좀 그렇고, 저도 정리를 안해둬서 나머지는 관련 키워드로
인터넷을 뒤지시면 될 것 같네요. 정 안되면 제가
도와드리겠습니다.

혹시 정리를 해 놓으신 다른 분이 계시면 좋겠네요...

댓글 달기

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