• ベストアンサー
  • すぐに回答を!

OSSemPendという関数とは?

いま見ているC言語ソースコードに”OSSemPend”という関数があったのですが、ソースコードでどのように使われているかよくわかりません。この関数にはどのような機能があるのかご存じの方いらっしゃいませんでしょうか。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数150
  • ありがとう数5

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

  • ベストアンサー
  • 回答No.3
  • D-Matsu
  • ベストアンサー率45% (1080/2394)

#結局コンパイラは不明のままか……まぁ今回は問題なさそうだけど > uCOS 私も聞いたことがなかったのですが、おそらくμC/OS-IIだと思われます。 で、このOSのリファレンスマニュアルが↓にありました。(注:PDF) http://studies.ac.upc.edu/EPSC/SED/Apuntes/uCOS-II-RefMan.pdf 86ページの辺りにこのAPIの詳しい説明が載っていますが、簡単かつ大雑把に言うと「設定時間が経過するか、他のタスクから起こされるまでそこでスリープする」という挙動をします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。詳しい資料教えていただきありがとうございました。 コンパイラですが、日立のHEWでHEWの純正のコンパイラだと思います。

関連するQ&A

  • 長方形の交わりを求める関数をください

    Win32APIにIntersectRect()という関数があります。この関数は2つの長方形が交わっているか否かを調べ、交わっているなら交差長方形を求めてくれます。この関数と同等の機能をもつC言語の関数とそのソースコードを,どなたかくださいませんか.

  • C言語の関数、変数、マクロを補完してくれるエディタ

    C言語のソースコードの編集にMifes 6.0 for Winを利用しています。 入力補完機能を使っているのですが、補完候補は前後の約8KB以内のものに限定されています。 そこで質問なのですが、開いていないソースコード内の関数・変数・マクロも補完候補に上げてくれるエディタはありますでしょうか。 どうぞよろしくお願いします。

  • printfなど、標準関数のソースコードが知りたい

    C言語、Linux初心者です。 タイトルの通り、printf, scanfなどの関数のソースコードや、main関数の呼出し部分のソースコードを見てみたいのですが、どこにあるのでしょうか。類似質問で http://www.gnu.org/home.ja.html から探せるとの回答がありましたが、出来ればもう少し具体的にお願いします。 RedHat Linux 7.3、gcc version 2.96を使っています。

その他の回答 (2)

  • 回答No.2
  • D-Matsu
  • ベストアンサー率45% (1080/2394)

> 私も実はこのソースコードについては詳しいことはあまりよく知らないのですが、RTOSというのを使っているということは聞きました。 ではその方に聞いてみてください。 なお「RTOS」というのは総称なので「何が開発ターゲットか」という補足にはまだなっていません。あとコンパイラ情報もないとだめ、というのは#1でも言った通りです。 ただ、 > 脱線するかもしれないのですが、セマフォって何なんですか? こういう質問をされる時点で「現時点でそのソースコードを読み解くのは無理」と判断します。 一応セマフォについては参考URLに貼っておくのでそっちを参照してください。

参考URL:
http://ja.wikipedia.org/wiki/セマフォ

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。あの、現在のソースコードでつかわれているRTOSなんですが、”uCOS(マイクロシーオーエス)”ということだそうです。あまり聞いたことのないものでした。

  • 回答No.1
  • D-Matsu
  • ベストアンサー率45% (1080/2394)

そのソースコードが対象とするOSとかコンパイラの情報をお願いします。 関数名だけで検索してみた限りでは何やらセマフォ関係のようですが……

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。 私も実はこのソースコードについては詳しいことはあまりよく知らないのですが、RTOSというのを使っているということは聞きました。 脱線するかもしれないのですが、セマフォって何なんですか?

関連するQ&A

  • 関数について

    学校のC言語の課題でユーザ定義関数を一つ以上つかえという指示があったのですが、後々気づいたのでmain関数のみで作りあげてしまいした。 そこで、 void write(int sum) {   printf("%d\n",sum); } このようなただ書く機能だけの関数を作って提出しようと思うのですが、これはユーザ定義関数となりますか? よろしくお願いします。

  • objective-cにはCのような関数はない?

    c言語とobjective-cを並行して勉強しています。 c言語では機能をまとめるために関数を定義できますよね。 ----- void display(int a){ printf("%d" , a); } int main(void){ display(10); } --- これでdisplayという関数に10という引数を渡して表示させることができますよね? objective-cの場合は例えば以下のように書くことがわかり、コンパイルも通りました。 - (void)display{ NSlog(@" TEST "); } しかし・・・・呼び出すことができませんね。。。 objective-cの場合は[ インスタンス メソッド名 ]; のような呼び方なのですよね。 メソッドだけを呼び出すことはできない、ってことなのでしょうか・・・? 色々検索してみたのですが、 @implement~@endで囲んでクラスにして インスタンスを作って、メソッドを呼ぶ方法ばかりで、 上記のC言語の例のような、単純な関数定義→呼び出しの方法を見つけることができませんでした。 上記のようなC言語の例はよくあると思うのですが、 これと同じことがobjective-cで、できるともできないとも、書いてないように思います。 例えば上のc言語と同じ動作をobjective-c に移植するとどうなるのでしょうか・・・?というか、不可能、ということでしょうか・・・?

  • fortranで、C言語のsizeof関数に相当するものが分からない

    データ型のバイト数を調べる際、C言語ではsizeof関数が用いられますが、Fortranではどうすればよいでしょうか? 一つの関数でなくとも、そのような機能をもつルーチンでも構いません。

  • FortranにあってCにない関数?について

    10年間Fortran90でプログラミングをしてきましたが、 C言語を使う必要があって、プログラムを書き直し中の者です。 入門書を数冊読んでいて疑問に思ったのですが、Fortranには、 A=SUM(B) と書けば、配列Bの全ての総和をAに返す、という関数があるのですが、C言語に同じような関数はないのでしょうか?(標準ライブラリに無いという事はないのでしょうか?) Fortranと比べてCは組み込み関数が少ないという印象を持ったのですが実際そうなのでしょうか? また、Fortanでは配列の和をとる時、 do i=0,n a(i)=b(i)+c(i) end do を一行で、 a(0:n)=b(0:n)+c(0:n) と書いても良いですし、もし定義されている全部の配列の要素が対象なら a=b+c と一行で書いても良いのですが、c言語では似たような書き方はできないのでしょうか? つまり、多次元配列を扱う時、Fortranでは単に「a=b+c」と書けば済むところを、Cでは for (i=0,i<=n,i++){ for (j=0,j<=n,j++){ for (k=0,k<=n,k++){ a[i][j][k]=b[i][j][k]+c[i][j][k]; }}} と書かなくてはいけないのか?と悩んでおります。 私がCの機能を知らないだけなのか、Cとはそうゆうことが出来ないのか、浅学なため判断できません。 ご教授ください、どうぞよろしくお願いいたします。

  • プログラミングC言語 サイコロ問題

    プログラミングC言語の問題でC言語のrand関数を利用して33回のサイコロ型乱数を出力するプログラムを書きなさい。という問題が出ました。ソースコードを教えてください。

  • y軸に平行な関数について

    x軸に平行なyの値が5の関数は y=5ですが、y軸に平行なxの値が5の関数はどのように書くのでしょうか? コンピュータで描く場合に最初の関数なら x=1ならyは5 x=2ならy=5と int a(x) { return 5;} で書けますが、y軸に平行な関数のC言語での書き方が知りたいです。

  • fioRead()という関数は標準装備なんでしょうか?

    お世話になります。 私の質問履歴をみていただければ分かると思うのですが、 現在ソースを読み解く作業をしています。 その中で、「fioRead()」という関数がでてきたのですが、 これはC言語に標準で入っている関数なのでしょうか? (openやioctlとかと同じ種類なのでしょうか?) もし標準の関数なのでしたら、その使い方や機能などについても ご教授いただければと思います。 大変お手数をおかけいたしますがよろしくお願いいたします。

  • C言語の関数を分かりやすく説明してください。

    C言語を学習しています。 C言語の入門書を読んでいて、どうしても関数のこと(引数とか戻り値とか自作関数についてのこと)が分かりませんでした。ネットで調べてみたりもしたのですが分かりませんでした。 かみ砕いて説明していただけるとありがたいです。

  • VC++6でfgets関数の変わりになるような関数はあるのでしょうか。

    現在、VC++6を用いて、MFC を使わずにアプリケーションを作っています。 アセンブラ経験はありますが、C言語経験がないので、四苦八苦しています。 今回、 csv形式のファイルを読込んで、配列に格納したいのですが上手くいきません。 c言語の場合は、fopen関数で開いたファイルを、fgets関数で1行づつ読込み、 strtok関数で、処理すれば良いということが分かりました。 ところが、VC++6のCreateFile関数では、ファイルのポインタの変わりに、 クラスのハンドルが返ってくるので、fgets関数は使えないような気がします。 なにかfgets関数の変わりになるような関数はあるのでしょうか。 質問の意味が分かりずらいかと思いますが、適当に汲み取って教えて下さい。 宜しくお願いします。

  • Pythonにおいて、C言語のscanf()関数に対応する関数は何です

    Pythonにおいて、C言語のscanf()関数に対応する関数は何ですか?