include에 대한 궁금증

ktyktukti의 이미지

#include <~~.h>와 "~~.ㅗ"의 차이는 무엇인가요?

그리고 제가 system call을 추가하는 것을 해보는데
source가 있는 곳은 /usr/src/linux-2.6.22.9/kernel에 시스템 콜 함수를 구현했는데요
컴파일하면 #include 를 못찾더라구요
그래서 time.h를 찾아보니까 /usr/src/linux-2.6.22.9/include에는 없고
/user/include/sys/time.h더라구요
새로운 커널 소스에는 time.h가 없는 건가요? 기본으로 제공된다고 생각했는데 좀 이상하네요^^;;
그래서 #include "/usr/include/sys/time.h"라고 했는데
그래도 어마어마한 error가 뜨더라구요 T.T

#include "/usr/include/sys/time.h"
#include
#include
#include

asmlinkage int sys_pedagogictime(int flag, struct timeval *thetime)
{
int write_failed;
struct timeval gettime;
cli();
gettime.tv_sec = xtime.tv_sec;
gettime.tv_nsec = xtime.tv_nsec;
sti();

write_failed = verify_area(VERYFY_WRITE,thetime,sizeof(struct timeval)); if(write_failed){
printk("skelcall: Cannot write into user space\n");
return;
}
memcpy_tofs(thetime, &gettime, sizeof(struct timeval));

if(flag == 1)
printk("%ld.%ld\n",gettime.tv_sec,gettime.tv_nsec);
return 0;
}

이거 좀 보시고요 어디 문제 있으면 말씀좀 해주세요. 그냥 xtime이라는 변수에서 읽어서요 return해주는 것이고, flag가 true면 printk로 화면에 뿌려주는 거고요

oppor의 이미지

<> 이거는 표준 라이브러리. "" 이거는 사용자 라이브러리??

대충 이런걸로 알고 있습니다.^^;

ktyktukti의 이미지

감사합니다.^^

익명 사용자의 이미지

정확한 의미상으로는
<>는 컴파일러가 미리 지정한 위치 1에서 찾고,
""는 컴파일러가 미리 지정한 위치 2에서 찾고 실패하면 1에서 다시 찾습니다.

""가 <>를 의미상으로 포함하기 때문에 사실 ""로 통일해도 됩니다만
관습적으로는, 표준 라이브러리를 참조할 때 <>를 쓰고
소스가 있는 디렉토리에서 헤더 파일을 찾을 때(즉 사용자가 만든 라이브러리를 사용할 때) ""를 씁니다.

chadr의 이미지

<>는 컴파일러 옵션에 지정한 경로에서 해당 파일을 찾고.. ""는 컴파일 하는 소스를 기준으로 하는 상대경로입니다. ------------------------------------------------------------------------------- It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

댓글 달기

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