• ベストアンサー

ランタイム関数とは何ですか?

プログラミングの勉強をしているわけではありませんが、そういう記述に出くわしてしまい、明確な定義が見つからなくて困っています。 ランタイムとは実行時のことだと思うのですが、実行時の関数とは一体何でしょうか?実行時でない関数なんてあるのでしょうか?普通の関数と何が違うのでしょうか? 教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hpsk
  • ベストアンサー率40% (48/119)
回答No.5

> ランタイムとは実行時のことだと思うのですが、実行時の関数とは一体何でしょうか? 一般には実行時に「定義される」関数のことを指すことが多いと思います. この意味では,#1の方がおっしゃっているような,DLLで定義されている「実行時に結合されるライブラリに含まれている関数」も(狭い意味で)はランタイム関数に含まれます. また,PerlやRuby,Lisp等の動的言語ではプログラムの実行中に関数を定義する(しなおす)こともできますが,こういうのもランタイム関数です.私は,この意味での使われ方を耳にすることが多いです.(マクロメディアの文章内でもこの意味で使っていると思われます) もう少し平たくいえば,「関数を呼び出すときまで,実際どこで定義された関数が呼ばれるかわからない」関数とも言えます. C言語等のプログラムを普通にコンパイル・リンクすると,関数名と関数本体の対応はコンパイル時に決定されてしまいますが,そういうものと比較して使われていると思えばよいでしょう. ユーザが定義したか,言語の処理系が提供しているかは基本的に関係ないですよ(#2でおっしゃっているのは単に「ライブラリ関数」ですね).

loiter
質問者

お礼

ドンピシャストライクです。 この場合は作成された関数名に対し、サーバーあるいはwebアプリケーションが、与えられたデータを元に状況に応じて関数本体を定義付けるものというふうに解釈いたしました。 納得です。文句なし!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.4

マクロメディアがどういうつもりで runtime functionsという言葉を使っているのかは、マクロメディアに聞かないとわからないと思いますよ。 少なくとも、検索する限りでは、マクロメディアのWEBサイトでランタイム関数という言葉は、このコーディングガイドラインというページ1カ所にしか現れていません。 ということは、指が滑ってランタイム関数と打ってしまったただけで、この文章に技術的一貫性を求めても意味がないということかも。

loiter
質問者

お礼

私のような素人にはこういうガイドラインを作成するプロの人がうっかり指を滑らせるということなど思い付きもしませんでした。 マクロメディアへの問い合わせも検討してみます。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#2の補足のガイドライン中のランタイム関数とは、 ユーザーが定義した関数のことです。

loiter
質問者

お礼

やはりそうでしたか。あやうくとんでもない複雑な解釈へとはまり込んでしまうところでした。

loiter
質問者

補足

つまり組み込み関数のように言語仕様にあらかじめ用意されているものではなく、ソースコードの中に独自の処理手順を書き込むので、ソースコードが読み込まれることによって初めて生成され、実行時の間だけ有効で、プログラムが終了すると跡形もなく消え去ってしまうということからランタイム関数というふうに表現されているのかもしれないと思いました。 まあそういう意味ではDLLやコンパイラの中の関数についても同じことが言えるかもしれませんが・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

もともと明確な定義があるわけでもなく、草の根てきに勝手に使われている用語のようなのですが、、。 「ランタイムライブラリ関数」の略。つまり、ランタイムライブラリに含まれる関数のことでしょう。 つまり、ユーザーが作った関数ではなく、コンパイラに付属してくる関数のことだと思えば、当たっていると思います。

loiter
質問者

補足

ご回答ありがとうございます。 No.1の方とおおむね同じ趣旨のご回答と認識しております。 しかし問題の記述と照らし合わせるとどうもしっくり来ないところがあります。以下はその問題のページです。Macromedia(今はAdobeに買収された)のDreamweaverのマニュアルです。 http://livedocs.macromedia.com/dreamweaver/8_jp/using/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=40_usi10.htm この中でランタイム関数はあたかもユーザーが作成したものであるかのように記述されていますが、これは単に、コンパイラに付属してくるような一般的な関数に対して、ユーザーが独自に名前をつけたものと解釈していいのでしょうか?プログラミングのことは無知ゆえ、非常に混乱した、お粗末な疑問であるとは思いますが・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

例えば、DLLのような実行に動的に結合されるライブラリに含まれる関数とかそういうことだと思います。

loiter
質問者

お礼

ありがとうございます。 サブ関数のようなものですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Cランタイムライブラリ

    まだWINDOWSプログラミングを始めて間もない初心者です。 宜しくお願い致します。 マルチスレッドの動作確認をする際に簡単なソースを作る過程で、1つ疑問が浮かびました。 CreateThreadについてMSDNのサイトを見ると、 ”C のランタイムライブラリに記録されている関数を使うスレッドは、CreateThread 関数と ExitThread 関数ではなく、C のランタイム関数である beginthread 関数と endthread 関数を使うべきです。この方法に従わないと、ExitThread 関数を呼び出したときにわずかなメモリリークが発生します。” とあるのですが、この関数はCのランタイムライブラリに属する、この関数はCのランタイムライブラリに属さない、というのは、例えばどこかのサイトを見れば分かるものなのでしょうか? あと、”わずか”、というのがどの程度を指しているのか良く分かりませんが、”わずかなメモリリークが発生”すると、具体的には何が起こるのでしょうか? どなたか分かる方ご教授下さい。

  • 手続き型と関数型について。

    手続き型言語の定義は、「記述された命令を逐次的に実行し、処理の結果に応じて変数の内容を変化させていくプログラミング言語」となっていて、関数型言語の定義は、「数学的な言語仕様をもつプログラミング言語のこと。一度値を与えられた変数は常にその値を維持し、計算は計算結果を引数とした関数呼び出しの繰り返しとして行われる。」とあります。 関数型の、「一度値を与えられた変数は常にその値を維持し」はどういう意味ですか? 例えば、a=2とした後に、a=3などとすればaの値は変わっているのですが。 簡単な例で説明してください。

  • 関数定義の関数名の前にある&(アンパサンド)他

    関数定義で function &関数名() と関数名の前にアンパサンドを付けて定義しているものは、付けない普通の定義と何が違ってくるのでしょうか? あと、クラス関係で使われている::(コロン2つ)の使われ方がよくわかりません。 いくつかPHPの本を読みましたが上記2つのことについて明確に記述してあるものが見当たりませんでした。 ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • VS2005ランタイムについて

    VS2005で作成したアプリを他のPCで動作させたい時に、ランタイムライブラリをインストールすれば動作するのですが、出来ればランタイムの再配布可能dllを実行ファイルと同じ場所に置いて実行可能にしたいと思います。 マニュフェストファイルを作成すればよいとのことですが、いまいち手順の詳細がわかりません。 このマニュフェストファイルも実行ファイルと同じ場所におけばよいのかビルド時に参照するようプロジェクトに追加したほうがよいのかどのようにしたらよいか困っています。

  • プログラミングで関数を呼び出すというのは、定義した

    プログラミングで関数を呼び出すというのは、定義した関数を 使うという意味ですか?

  • actionscriptのfunction関数について

    現在Flashの勉強をしている者です。 超初心者丸出しの質問なのですが調べても納得いく回答にめぐりあわなかったのでここで質問させていただきます(前回もPHPについて質問したら素晴らしい回答があったので!!) Function関数なのですが function 半角英字で任意の文字 () {  以下実行文 } でユーザー定義関数が作られるのはわかったのですが、 本を読みながら勉強をしていてわからないのが this.onRollOver = function () { roll = true; this.nextFrame(); }; という記述で、『マウスがムービークリップ上にあるかの判定処理』という説明がされているのですが恥ずかしながらよくわかりません。 ユーザー定義関数のFunctionと上記のものでは別物なのでしょうか? ちょっと曖昧な質問で申し訳ないのですが どなたが是非よろしくお願いします。。。

    • ベストアンサー
    • Flash
  • PHPの関数定義ついて。

    PHPの関数定義ついて。 初歩的な質問かもしれませんが、 define関数での定数定義が、スクリプト実行時に評価されるのはなぜでしょうか。 なぜコンパイル時ではなくスクリプト実行時に評価しなければならないのでしょうか。 また、const文によるクラス定義が、コンパイル時に評価されるのはなぜでしょうか。 なぜクラス定義はコンパイルに評価しても問題ないのでしょうか。

    • ベストアンサー
    • PHP
  • VB.NETのモジュールで定義した関数のように、どこからでも呼び出せる 関数は、C#でどのように記述するのでしょうか?

    C#2005で、どこからでも呼べる関数ができないか悩んでいます。 昔、関数のプログラムを作っていた頃から、進歩せず オブジェクト思考的なプログラミングが苦手で、 エラー 名前 '***関数名***' は現在のコンテキスト内に存在しません。 というエラーがたくさん出て、苦しんでおります。 VB.NETのモジュールで定義した関数のように、どこからでも呼び出せる 関数は、C#でどのように記述するのでしょうか? クラスが基本という方針はわかりますが、まず手がかりが欲しいです。

  • LoadImage関数について(VC++)

    こんにちわ、Visal Studio 2005(C++)のフォームアプリケーションでプログラミングしているものです。LoadImage関数を使って、読み込んだ画像を指定のサイズにリサイズ?したいのですが、LoadImage関数の使い方がよくわかりません。『プログラム上で画像作成』という質問とほぼ質問内容がかぶっているのですが、そちらの回答を見て実効してもうまくいきません。 そちらで書いてあることは、たとえばピクチャーボックスに画像を表示させたい場合なのですが、 pictureBox1->Image = ::LoadImage(file/*ファイル名*/,x/*指定したx座標*/,y/*指定したy座標*/);  といった感じでできるらしいのですが、::の後にLoadImageがでてきません。これは何かこの記述をする前に、さらに記述が必要なのでしょうか? その後には、プロパティを開いて共通言語ランタイムサポートを「共通言語ランタイムサポート(/clr)」に設定すればできるとも書いてありますができません。 お分かりの方がいましたら回答お願いします。

  • どのようなランタイムを入れれば万全か?

    開発言語が入っていいないパソコン環境で、ほとんどのアプリケーションがランタイムエラー なしに動作させるには、どのようなランタイムを入れておけば万全でしょうか? VB6 VC Delphi C++Builder 具体的なランタイムファイルが知りたいです。 また、ランタイムを入れることによる不具合は無いでしょうか? CurrenSEEでエラー Component 'MSINET.OCX' or one of its dependencies not currently registerd a file missing or invalid. 実行時エラー 713 次のクラスは登録されていません。以下のファイルをインストールして下さい。 MSSTDFMT.DLL

このQ&Aのポイント
  • EPSON LP-S 180DNを回収可能かどうかお知らせください。
  • プリンターの廃棄についてお知らせください。
  • EPSON LP-S 180DNの処分方法について教えてください。
回答を見る