🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

4 total messages Started by sp4049tk Sat, 28 Mar 1998 00:00
標準ライブラリー関数の定義はどこに ?
#657
Author: sp4049tk
Date: Sat, 28 Mar 1998 00:00
32 lines
1672 bytes
プログラミング言語C(301page)によると、
> 標準ライブラリはC言語固有の一部分ではないが、
> 標準Cをサポートする環境では、
> このライブラリの関数宣言および型やマクロの定義がユーザに提供される。
> 
とあります。
えっ関数は宣言しかないの?と思ったので、
標準ライブラリのソースファイルを見にいくと、
確かに関数の宣言はあっても関数の定義はどこにもありませんでした。
また、すべての関数の宣言はextern宣言になっていました。

これらの関数の定義はどこにあるのでしょうか?

田中

<ctype.h> のなかの一部分を一応つけときます。

> extern int isalnum(int c);
> extern int isalpha(int c);
> extern int iscntrl(int c);
> extern int isdigit(int c);
> extern int isgraph(int c);
> extern int islower(int c);
> extern int isprint(int c);
> extern int ispunct(int c);
> extern int isspace(int c);
> extern int isupper(int c);
> extern int isxdigit(int c);
> extern int tolower(int c);
> extern int toupper(int c);
> 
Re: 標準ライブラリー関数の定義はどこ に ?
#658
Author: radio
Date: Sat, 28 Mar 1998 00:00
8 lines
848 bytes
れいじろうです

>これらの関数の定義はどこにあるのでしょうか?


コンパイルされたものが .lib ファイルの中にあるのです。
ソースはどっかべつの所から引っ張ってこないとないです。
Re: 標準ライブラリー関数の定義はどこに ?
#659
Author: Kusakabe Youichi
Date: Sat, 28 Mar 1998 00:00
15 lines
1162 bytes
sp4049tk@ex.ecip.osaka-u.ac.jp wrote:
: $BI8=`%i%$%V%i%j$N%=!<%9%U%!%$%k$r8+$K$$$/$H!"(B
: $B3N$+$K4X?t$N@k8@$O$"$C$F$b4X?t$NDj5A$O$I$3$K$b$"$j$^$;$s$G$7$?!#(B
: $B$^$?!"$9$Y$F$N4X?t$N@k8@$O(Bextern$B@k8@$K$J$C$F$$$^$7$?!#(B
: $B$3$l$i$N4X?t$NDj5A$O$I$3$K$"$k$N$G$7$g$&$+(B?
: <ctype.h> $B$N$J$+$N0lItJ,$r0l1~$D$1$H$-$^$9!#(B

$B$G!"(Bctype.h$B$C$F$N$O!V%=!<%9%U%!%$%k!W$J$s$G$7$g$&$+(B? (^^;

# $B$N0lIt!"$+$b$7$l$s$,!#(B
  $B%X(B_$B%X(B   ________________________
$B%_!&!&(B $B%_(B  void@merope.opus.or.jp
 (  $B!k(B )$B!A(B            $BF|2<ItM[0l(B
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Re: Re: 標準ライブラリー関数の定義はどこ に ?
#661
Author: sp4049tk
Date: Sat, 28 Mar 1998 00:00
30 lines
1669 bytes
> : 標準ライブラリのソースファイルを見にいくと、
> : 確かに関数の宣言はあっても関数の定義はどこにもありませんでした。
> : また、すべての関数の宣言はextern宣言になっていました。
> : これらの関数の定義はどこにあるのでしょうか?
> : <ctype.h> のなかの一部分を一応つけときます。
> 
> で、ctype.hってのは「ソースファイル」なんでしょうか? (^^;
> 
ctype.hってのはソースファイルではないのでしょうか?
ソースだと思ってました。

> # の一部、かもしれんが。
> 
#の一部ってどういうことですか?


ちにみにinclude行を書かずに、
ライブラリ関数の宣言だけをつけてもコンパイル実行が
うまくいくということは既にコンパイラがその関数の定義を
持っているということでしょうか?
extern int printf(const char *format, ...); /*includeしない*/

main()
{
        printf("hello world\n");
}


田中
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads