C言語による丸め(四捨五入など) 概要 C言語には、どういうわけか切り捨て/切り上げ/四捨五入といった、「値を丸める」考えがないものですから、プログラミングが必要です。 アルゴリズム 切り捨て 実数 src は、整数型にキャスト(型変換)することによって、小数点以下第1位での切り捨てを簡単に実現できます。
C言語による丸め(四捨五入など) 概要 C言語には、どういうわけか切り捨て/切り上げ/四捨五入といった、「値を丸める」考えがないものですから、プログラミングが必要です。 アルゴリズム 切り捨て 実数 src は、整数型にキャスト(型変換)することによって、小数点以下第1位での切り捨てを簡単に実現できます。
shared memory(共有メモリ)は最も原始的なプロセス間通信で、普通のメモリのようにアクセスできるメモリです。 プロセスはプロセス固有のアドレス空間を持っていますが、共有メモリに確保されたメモリは 特別の空間で、プロセス間で共有されます。 共有メモリを使うための手順。 shmget()を使って、共有メモリを作成。 shmat()を使って、共有メモリのアドレスを取得する。(アタッチ) shmdt()を使って、共有メモリから離脱。(デタッチ) shmctl()を使って、共有メモリを開放。 誰かがshmget()を使って共有メモリを作成し、その共有メモリを使いたい人は、shmat()を使って アッタチし、使用が終わったら、shmdt()でデタッチします。最後にshmctl()で共有メモリを開放します。 shmget()は以下のように宣言されています。 int shmget(key_t k
シグナルとは いわゆる「割り込み」の1つ。動いてるプロセスに対して、他のプロセスから信号を送ることが出来る。 代表的なシグナル シグナル番号 シグナル名 説明
forkはプロセスのコピーを作成する.そしてwaitで待つ.処理の流れが一本から複数に分かれる様がフォークみたいだからforkなのだろうか. forkで何がコピーされるのか forkのサンプル wait waitのサンプル ゾンビプロセスについて forkで何がコピーされるのかforkはそれを実行したプロセスの子プロセスを作成する.子プロセスは親プロセスのコピーである.プロセスをどこまで実行したか(プログラムカウンタ?)もコピーされるので,子プロセスはforkの返り値が返るところから実行される(と,思う).あと,ファイルディスクリプタなどもオープンされていればそのままコピーされる.コピーされないのはpidやppidとファイルロックやサスペンド中のシグナルぐらいだろうか.そして,そのforkの返り値によって,プロセスは自分が親プロセスか子プロセスかを知ることができる. 成功すれば子プロセスに
コンピューター:C言語講座:fork,exec,pipeについて このテーマはどちらかというとUNIX系の話題になってしまうのですが、PC系ではDOSの時代にはマルチタスクができませんでしたので、平行には走れませんでしたが、C言語の処理系独自の関数がたくさんありました。WindowsになってからはUNIX系と似てきましたが、まだ少し違うようです。 自分で作成したプログラムから他のコマンドを実行したい、ということは良くあることだと思います。例えば、ディレクトリーの中身を簡単に得たい場合などはUNIXではlsコマンドを実行させて、結果をもらうのが簡単に思い付くと思います。とくにUNIXのコマンドはそのように組み合わせて使いやすくできていて、必要な情報だけを明確に返答するコマンドがほとんどです(その分、初心者が自分でコマンドを使う時に不親切なのですが)。 system() 大抵の人が上記のような
a = ++b; → b = b + 1; a = b; bに1を加算してから、bをaに代入する。 a = b++; → a = b; b = b + 1; bをaに代入してから、bに1を加算する。 a = --b; → b = b - 1; a = b; a = b--; → a = b; b = b - 1; (5) ビット演算子
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く