[c] 함수 원형을 볼수있는 방법좀 알려주실분~ ^^

acsecret의 이미지

예를들어 stat.h 에 dirent 구조체를 보고 싶으면...
어느파일에 있는지 알기때문에.. 찿을수 있겠지만..

기타 그런 정보를 알지못하고..
exfun() 이라는 함수가 있을때..
그함수 원형?? 을 볼라면.. 어떻게 하면 되는지요~

대충 이런식으로 찿는다면..
find /usr/lib/include | xargs grep "exfun(*{$"
찿아지지 않아서 혹시 다른방법이 있으면 알려주세요~

제가 쓸떼없는것만.. 질문하는것 같네요~
그래서인지.. 2개올렸는데.. 답변이 하나도 없어요~ ^^;

또 한개더요~
제컴에.. conio.h 가 없는데..
이거 설치하려면.. 어떻게 하죠~ ??

locate conio.h 하면.. 안나옵니다..
제일 짧게 답변주세요~ ^^;
나머지는 알아서.. 할께요~

cinsk의 이미지

1. find /usr/include -follow -print | xargs grep function_name
2. conio.h -> 설치 못함, curses.h 쓰기 바람.

hys545의 이미지

acsecret wrote:
예를들어 stat.h 에 dirent 구조체를 보고 싶으면...
어느파일에 있는지 알기때문에.. 찿을수 있겠지만..

기타 그런 정보를 알지못하고..
exfun() 이라는 함수가 있을때..
그함수 원형?? 을 볼라면.. 어떻게 하면 되는지요~

대충 이런식으로 찿는다면..
find /usr/lib/include | xargs grep "exfun(*{$"
찿아지지 않아서 혹시 다른방법이 있으면 알려주세요~

제가 쓸떼없는것만.. 질문하는것 같네요~
그래서인지.. 2개올렸는데.. 답변이 하나도 없어요~ ^^;

또 한개더요~
제컴에.. conio.h 가 없는데..
이거 설치하려면.. 어떻게 하죠~ ??

locate conio.h 하면.. 안나옵니다..
제일 짧게 답변주세요~ ^^;
나머지는 알아서.. 할께요~


1. man exfun해보세여
대부분의 함수는 man으로 찾을수 잇을겁니다
아니면 glibc 매뉴얼 뒤져보세여
http://www.gnu.org/software/libc/manual/html_mono/libc.html
가보세여
2.conio.h
locate로는 찾지못합니다
locate는 path 경로가 지정되어있는데서만 찾습니다
그런데 해더 파일 경로를 path로 지정하는경우는 없습니다'
find로 찾는게 좋을듯
그리고 아마 이게 종루가 많습니다
wine의 msvcrt에도 포함되어잇고
ncurses에도 포함
어떤 골 말하는건지?

즐린

pynoos의 이미지

vim을 사용하신다면, (리눅스라면 기본이 vim이죠)

원하는 함수 위에 커서를 놓고

^wi

입니다.

http://bbs.kldp.org/viewtopic.php?p=60989#60989

위 글을 참고하세요.

confide의 이미지

vi를 쓰신다면 'K'를 활용하시는 것도 방법이겠네요.

원하는 함수에다 대고 'K'를 누르시면 man page가 나타납니다.

man page에 어떤 헤더인지, 프로토타입인지... 역할은 무엇이고.. 등등을 보여줍니다. 헤더를 직접 뒤지는것 보다는 좋을듯.

------------------
나는 바보

purewell의 이미지

$ cd /usr/include
$ grep exfunc * -R | more

RedHat 7.x, 8, Debian 에서 실행되는 코드입니다.

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

dubhe의 이미지

ctags를 사용하세요

/usr/include 에서 ctags -R
치고 뭐 소스파일들에서도 ctags -R치고...

그러면 관련 모든 prototype이 tags파일에 저장되어집니다.

찾을때는 vi -t 함수명(혹은 변수명)
이러면 되지요

여러개가 나오면 vi에서 tn ta명령등(다른 단축키도 있는데 까먹었네요)을 사용하면 됩니다.

acsecret의 이미지

그런데.. 교제들은 다들 emacs 쓰라면서..
핵심내용이나. 실예제는.. vi를 예로 들더니..
vi 로 다시 전향해야겠습니다.~.. -_-;; 아까운시간..

이렇게 좋은방법이 많은줄 알았으면...
진작.. 질문할것을~

혼자 삽질하며 우물 깊게파서 못나오기보단..
질문해서 시야를 넓히는것도 좋은데요~
감사~!!

pynoos의 이미지

confide wrote:
vi를 쓰신다면 'K'를 활용하시는 것도 방법이겠네요.

원하는 함수에다 대고 'K'를 누르시면 man page가 나타납니다.

man page에 어떤 헤더인지, 프로토타입인지... 역할은 무엇이고.. 등등을 보여줍니다. 헤더를 직접 뒤지는것 보다는 좋을듯.

만약 section 이 다른 두개의 같은 manpage가 존재하면,

section 번호를 먼저 숫자로 누르고, "K"를 누르면 해당 section 이 열립니다.

write 같은 것이 좋은 예입니다.

1K, 2K

confide의 이미지

acsecret wrote:
그런데.. 교제들은 다들 emacs 쓰라면서..
핵심내용이나. 실예제는.. vi를 예로 들더니..
vi 로 다시 전향해야겠습니다.~.. -_-;; 아까운시간..

이렇게 좋은방법이 많은줄 알았으면...
진작.. 질문할것을~

혼자 삽질하며 우물 깊게파서 못나오기보단..
질문해서 시야를 넓히는것도 좋은데요~
감사~!!

음... 그렇다고 아예 질문부터 하시는건 안 좋을수도 :)

그리고.. emacs에서도 vi에서 사용하실 수 있는 기능들을 대부분 사용하실 수 있을겁니다. 서로의 장점은 배워나갈테니까요. :) 듣고 본 바로는 emacs가 더 편리해 보이는 점들도 많던걸요. 직접 안해봐서 잘 모르겠습니다만 ㅠ.ㅠ 꼭.. 까지는 아니라도 써보고 싶은 녀석이랍니다.

------------------
나는 바보

세벌의 이미지

conio.h 는 DOS 에서만 쓸 겁니다. 그와 비슷한 기능을 하는 UNIX용 파일이 curses.h 입니다. 당연히 그 안의 함수 이름들은 다릅니다.

덧. 자주 틀리는 오타 하나
'찾아' 라고 써야 할 곳에 '찿아' 라고 쓰시는 분의 많더군요. 치읓 받침이 아니고 지읒 받침이 옳습니다.

댓글 달기

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