- ベストアンサー
リエントランスな関数
最近、リエントランス(re-entrance)な関数という言葉を聞きました。 恥ずかしながら、全然意識したことのない言葉でした。 C言語の標準ライブラリには、リエントランスな関数とそうでない関数があると聞いたのですが、それを調べるにはどのようにしたら良いでしょうか? ANSIの仕様で決まっているのでしょうか? それとも、コンパイラ依存なのでしょうか? 参考書とかHPとかを紹介していただけるとありがたいです。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
関連するQ&A
- C言語のライブラリ関数の勉強の仕方
はじめまして、私はC言語を勉強中の初心者です。 基本的な構文などを理解して、標準ライブラリ関数を勉強して行こうと思ったのですが、うまく勉強できずに苦戦しています。そこで2つ聞きたいことがあります。 1.普通標準ライブラリ関数はどの程度覚えるものなのでしょうか? 徹底的に網羅するのか、一般的なところは押さえて後は適当にやるのか、などを知りたいです。 2.関数はどうやって勉強したらいいのでしょうか? 私は細かいところまで徹底的に覚えたいタイプで、今は、自分のコンパイラ(VC++ 2008)のincludeフォルダにあるヘッダファイルを調べ、関数のプロトタイプ宣言をしてあるところを見つけて関数名を洗い出し、その関数名で検索を掛けて関数を覚えていく、という方法を取っているのですが、これだと恐ろしく効率が悪いです。皆さんはどうやってライブラリ関数について勉強していったのでしょうか? 質問したいのは上記の2点です。回答よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 標準ライブラリー関数を使用せずに文字出力
はじめまして、C言語初心者です。 研修で、C言語を学ぶことになったのですが研修先から頂いた練習問題で「練習のため標準ライブラリー関数は使わない」で文字列を連結するための関数を作ることになったのですが、標準ライブラリー関数を使用せずに文字出力はできるのですか??
- ベストアンサー
- C・C++・C#
- 「数学」に標準規格は存在しないのでしょうか
例えばプログラミング言語では変数名,定数名,関数名の命名規約があり, 数値には整数型,浮動小数点数型などの型が必ず与えられていたりと その言語の仕様が厳密に定義されています. IT分野では標準規格としてANSI,ISO,JIS,RFCなどさまざまな物がありますが, 「数学」ではそういった標準規格なるものは存在しないのでしょうか. 今まで見たことも聞いたこともなかったので質問させていただきました. よろしくお願いします.
- ベストアンサー
- 数学・算数
- 関数ライブラリ一覧
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などの仕様はどこで見れるのでしょうか? よろしお願いします。
- ベストアンサー
- C・C++・C#
- プログラミングの勉強
独学で言語をまなんでいるのですが、どこまでやれば一通りは学べたとして次の言語に進めるのでしょうか?文法はとうぜんとして、標準ライブラリ関数などはどこまでおぼえるものでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- コンソールプログラムで使用するライブラリについて
今まで疑問に感じつつないがしろにしていた部分なんですが、 例えばWin32APIを使用してプログラミングする時にコンパイラはリンクの際にwindowsのシステムフォルダ内にあるdllファイルを参照してリンクするんですよね(あってます?)?ではコンソールプログラム(dos上のプログラム)をリンクする際にはどうなるのでしょうか(例えばCの標準関数のライブラリはどこにあるのでしょうか?)? 私の予想では標準関数に関してはコンパイラが予め用意している静的ライブラリを使ってリンクしているんじゃないかと思うのですが実際どうなんでしょうか? 大した質問でもないのに長々とした文章になってしまいましたがよろしくお願いします。
- ベストアンサー
- C・C++・C#
- peace関数について
hp、ANSIで作成された関数を他のUNIX環境(Solaris2.5.x)に移植しようとしています。 その中でpeaceという関数でコンパイルは通るのですが、EXEが生成できません。 p = peace(p, tmp, ':'); これはどういった理由が考えられますか? 結構はまっています。自作の関数ではないと思うのですが・・・ 環境に依存しているのでしょうか? よろしくお願いします。 以下のようなエラーが出ます。 % !cc cc -o comGetExePath.exe *.o 未定義の 最初に参照している シンボル ファイル peace comGetExePath.o ld: 重大なエラー: シンボル参照エラー。comGetExePath.exe に書き込まれる出力はありません
- ベストアンサー
- C・C++・C#
- H8/3048で三角関数の使い方について
H8/3048の三角関数の使い方について質問です。 現在秋月の付属コンパイラを使用しているのですが、 標準ライブラリに三角関数などが無いため使えません。 下記のようなサイトを見つけたのですが、内容が理解出来ません。 何とか使用したいのですが、どの様にすればよろしいでしょうか? 宜しくお願いいたします。 http://www.bblab.com/index.php?H8-3048F%A5%AF%A5%ED%A5%B9%B3%AB%C8%AF%B4%C4%B6%AD#content_1_2
- 締切済み
- 開発
- 標準ライブラリ関数の自作について質問です。
C言語初心者の学生です。 標準ライブラリ関数のstrncpyと同じ機能の関数を自作でつくる場合どのようにすれば良いでしょうか。 mystrncpy(char *s1,char *s2,int n) { } かっこの間を埋める形でお願いします。 同じようにstrncat、strnchr、strnstrも答えていただけると幸いです。 すべてではなく4つのうち1つからでも結構ですのでよろしくお願いいたします。
- ベストアンサー
- C・C++・C#
お礼
再入可能であることは、保証されていないということですね。 その結果、割り込みでは使用してはいけない・・・と理解しました。 リエントラントが形容詞なら、それに「な(断定の助詞の連体形)」は付けることはできませんね。 リエントランスは名詞(体言)なので「な(断定の助詞の連体形)」は付けることができますが。 リエントランス関数とは言えないけど、リエントラント関数とは言えますね。