C言語の関数一覧のようなものは何を見たらわかるのでしょうか?
標準関数の一覧はよく見かけますが、ほかの関数の一覧はないのでしょうか?
たとえば、あるインターネット上で公開されていたソースコードには
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/param.h>
#include <sys/uio.h>
#include <unistd.h>
と書いてありました。
上3つは標準ライブラリにかいてありますが、その他は載ってません。
こういったsys/uio.hなどの仕様はどこで見れるのでしょうか?
よろしお願いします。
No.5ベストアンサー
- 回答日時:
思っていたより初心者の方のようですね。
下でコンパイラベンダーと書きましたが、コンパイラ開発元という意味です。他に分からない単語があればオンライン辞書などを参考に調べながら読んで下さい。
>JavaのAPIリファレンスのようなまとまったリファレンスはないのでしょうか?
Javaはsun microsystemsが開発したプログラミング言語です。sunのサイトにJavaのAPIリファレンスがあるのは当然です。JAVA1.1の頃の話ですが、XMLPerserやCryptoAPI等のサードパーティー製クラスライブラリのAPIについてはsunのサイトにはなかったと思います。
で、同様に、Cの関数についても調べたい機能があればライブラリの開発元の解説をお読み下さい。ご提示のソースコードはUnix系OSのソケット関連です。ライセンスはOSに取り込まれてますので、OSのマニュアルを参照して下さい。
C言語の関数が全て載ったマニュアルなりサイトなりがないか、という質問なら、答えは「ありません」。
>ヘッダーファイルを読もうにも、どのヘッダーファイルにどのような関数が定義されているかわからないのです。
他の方も言ってますが、逆です。
『こんな機能がないかな』と思ったら、ヘルプなりgoogleなりで検索して、当てはまりそうな関数を見つけたらその関数についての解説を読んで、その関数を使うにはどのヘッダーが必要かを知る。
普通はその解説に引数や型も載ってるので、ヘッダーファイルを読んだりはしません。
下の回答はもうちょっと上級の方を想定してました。
回答ありがとうございます。
OSによって使用する関数が違うんですね。
最初にJavaを勉強していたので、てっきりみんな一緒だとおもっていました。
OSごとに関数が異なると調べるのも大変ですね。
No.4
- 回答日時:
>一応「C言語 関数一覧」などのキーワードで自分で調べてみたのですが
へ?本気で調べる気ありますか?
ヘッダーファイル名で調べないのは何故?
普通知りたいファイル名で調べるのは
常識中の常識でしょ。
>ヘッダーファイルの一覧が、リファレンスのようにまとまっているサイトや文書などがないか、ということです。
だからなんでヘッダーファイル一覧が必要なわけ?
大事なのは関数でしょ。
とりあえず標準関数に関しては
ANSIのC言語辞書一冊買いなさい。
>このヘッダーファイルにはこのような機能をもつ関数群が定義されている、というような一覧というのはないのでしょうか?
普通は逆
必要な関数を調べてからそれに必要なヘッダーファイルを
インクルードするだけ
質問者はプログラミングという作業に向いてない
人なのかもしれませんね。
なにをやるにも明後日のことをしている。
検索方法にしても
関数とヘッダーファイルの関係にしても
関数自身ではなくてヘッダーファイルを
何故か優先したり
今後の事(学業/就職)も含めて真剣に考え直した方が
いいかもしれませんね。
No.3
- 回答日時:
このヘッダファイルを見る限り,Solariis/Linux/BSDのごく普通のもののようです.
UNIXのマニュアルページやマニュアルページの目次がオンラインで読めるWEBサイトはあちこちにありますから,それでみれば関数一覧もあります.
ちなみに,システムコールは2章,ユーザランドライブラリは3章です.
たとえば,uioに関しては,FreeBSDならマニュアルの9章のuioのセクションに多少書かれています.ヘッダファイルの内容の仕様についてはどこにも書かれてないと思います.プログラム作成上は,「○○という関数を使うには□□というヘッダをインクルードして△△というstructを使う」ってことさえ分かれば足りるので.
参考URL:http://www.freebsd.org/ja/docs.html#man
回答ありがとうございます。
OSによって使用する関数が違うんですね。
最初にJavaを勉強していたので、てっきりみんな一緒だとおもっていました。
No.2
- 回答日時:
標準関数っていっても自分で作る関数と何も変わりません。
Cコンパイラは世に沢山ありまして、標準関数っていうのは、どのCコンパイラ(C言語)でも最低限これだけは最初から使えるよっていう関数のことです。ANSIが決めました。ANSIっていうのは米国版JISです。
>標準関数の一覧はよく見かけますが、ほかの関数の一覧はないのでしょうか?
引数や型は、ヘッダーファイルを読みましょう。
解説はOSやコンパイラベンダーのヘルプを読みましょう。(linuxならman、VisualCならMSDNライブラリ)
>たとえば、あるインターネット上で公開されていたソースコードには
linuxのコードですね。
http://www.linux.or.jp/JM/INDEX/ldp.html
回答ありがとうございます。
>引数や型は、ヘッダーファイルを読みましょう。
ヘッダーファイルを読もうにも、どのヘッダーファイルにどのような関数が定義されているかわからないのです。
たとえば、このヘッダーファイルにはこのような機能をもつ関数群が定義されている、というような一覧というのはないのでしょうか?
また、引数や型をしらべるにはヘッダーファイルを読む以外に方法はないのでしょうか?
JavaのAPIリファレンスのようなまとまったリファレンスはないのでしょうか?
No.1
- 回答日時:
ここで調べる。
そもそもヘッダーファイルの仕様なんて調べてどうするの?
仕組みを知りたいの?
だったら自分で調べる事しないと
普通は関数あってのヘッダー
その関数がどのヘッダーファイルを必要としているかが
問題でしょ。
回答ありがとうございます。
一応「C言語 関数一覧」などのキーワードで自分で調べてみたのですが、出てくるのは標準関数ばかりで質問で書いたようなヘッダーファイルの中にある関数の説明や、その一覧などが見つからなかったため、質問させていただきました。
>そもそもヘッダーファイルの仕様なんて調べてどうするの?
質問の表現が正しくありませんでしたね。申し訳ないです。
僕が知りたいことは、SunのサイトにあるJavaのAPIリファレンスのように関数の一覧とその仕様、その関数が定義されているヘッダーファイルの一覧が、リファレンスのようにまとまっているサイトや文書などがないか、ということです。
学校で、基本的な文法や標準関数の使い方などは教わったので、ネットワークを使ったりするプログラムを作ってみたいと思っています。
それでインターネット上のソースコードを見ていたのですが、どうやら発展的なプログラムを作る際には標準関数以外のものを使いわないといけないようなので、それらの一覧を探しているといます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Media Playerを開くと...
-
iTunesの同期、別のパソコンで...
-
パソコンを新しくしたらiPodが...
-
c言語の標準cライブラリのみで...
-
iCloudフォトライブラリ内の画...
-
Google ColaboでGUI作成
-
boostのアンインストールについて
-
VB.NET Blowfishで文字列を暗号化
-
ライブラリ作成時のグローバル...
-
LAMEのコンソールアプリ
-
本格的なGUIを作るのにおすすめ...
-
outp関数について
-
至急!!iTunesライブラリデー...
-
DLL読み込み時エラー
-
stricmp
-
iMovie09 外付けHD追加~データ...
-
VB.NET とドットNET(.NET...
-
RS232Cの制御について詳しく書...
-
大阪梅田でプログラミング関係...
-
MPWでCをするには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
iCloudフォトライブラリ内の画...
-
python urlopen error について...
-
本格的なGUIを作るのにおすすめ...
-
unix-c と linux-c の違いは?
-
Dreamweaverのライブラリが反映...
-
ライブラリ作成時のグローバル...
-
sleep関数
-
じゃんけんゲーム(DXライブラ...
-
c言語の標準cライブラリのみで...
-
DirectX Graphics と OpenGLっ...
-
【VBA】イベントログの取得
-
標準ライブラリだけでgetch関数...
-
declaration of 'index' shadow...
-
Ps+のフリープレイでDestiny2の...
-
三目並べを作っているのですがD...
-
LIBCMT.LIBをリンクしてコンパ...
-
C言語について。
-
DLL読み込み時エラー
おすすめ情報