タグ

Cに関するpaulowniaのブックマーク (13)

  • 【C】srand(time(NULL))をしても同じ乱数が生成される

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

    【C】srand(time(NULL))をしても同じ乱数が生成される
    paulownia
    paulownia 2022/01/08
  • mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場

    @ITに以下のような記事が出て、 今回からしばらくの間は、まったく逆の例、つまり使うとプログラムの処理性能が上がるというシステムコールを紹介していく。システムコールを呼ぶ回数は少ない方が処理性能は高くなるという原則は変わらないが、呼び出しておくと処理性能が向上するシステムコールというものが存在するのだ。こうしたシステムコールを使わないでいることは、とてももったいない。 今回紹介するシステムコールは「mmap(2)」だ。ここでは詳しく仕組みを解説しないが、mmap(2)は、プログラムの処理性能に必ず良い影響を与える。 やはりあった? 高速化に効くシステムコール (1/2):知ってトクするシステムコール(3) - @IT それを真に受けたのか、「Go言語でmmapシステムコールを使ったファイル読み込みの高速化検討とC言語のコンパイラの話 - ryochack.blog」のようなブログエントリも

    mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場
    paulownia
    paulownia 2013/10/18
  • やはりあった? 高速化に効くシステムコール

    やはりあった? 高速化に効くシステムコール:知ってトクするシステムコール(3)(1/2 ページ) 単純にシステムコールを使えば、プログラムの処理速度が一気に上がるという都合のいい話はありませんと説明してきました。しかし、簡単に使えて、ある程度の処理速度向上を見込めるシステムコールも存在します。今回は、このシステムコールを使うと、どうして処理速度が上がるのかということを解説します。この点を理解すると、プログラムの処理速度を上げるための戦略が見えてくるはずです(編集部) 呼び出すとプログラムの処理性能が上がるシステムコール 前回は、システムコールを直接記述する場合には「使い方を間違えると、まったく性能を発揮できないひどいプログラムができてしまう」ということを、実例を交えて紹介した。標準ライブラリの機能はよく考えて作ってあり、特に強い理由や、はっきりとした目的があるというわけでもなければ、システ

    やはりあった? 高速化に効くシステムコール
    paulownia
    paulownia 2013/10/09
  • 総合目次 - 苦しんで覚えるC言語

    苦Cの内容の転載などは自由ですが、苦Cからの引用であることを明記してください。 (どこかに「苦Cより」と書かれていればOKです。) 学校や会社などで生徒(新入社員)へのテキストとして使用することも自由です。 その際、内容を修正したり、印刷して配布するのも自由です。 サイトについて 苦しんで覚えるC言語(苦C)は C言語入門サイトの決定版です。 C言語の基機能を体系立てて解説しており、 市販書籍と同等以上の完成度です。

    総合目次 - 苦しんで覚えるC言語
    paulownia
    paulownia 2010/11/23
    すげータイトル
  • Ruby用拡張ライブラリをCで作る

    Ruby用拡張ライブラリをCで作る Rubyは、C(あるいはC++)で書いたコードを動的(あるいは静的)にリンクして利用する事ができる。うまく使えば、Rubyで書くより高速な動作が期待できる。 たとえば、GUIライブラリである「Ruby/GTK」は、描画部分にCで書かれたライブラリを利用する事で、実用的な画面描画速度を確保している。 その、Ruby用拡張ライブラリをCで書く方法である。 ■ 拡張ライブラリ作成の流れ Rubyはオブジェクト指向言語である。オブジェクト指向言語におけるプログラムとは、基的にクラス定義である(と、少なくとも私は思っている)。そこで、ここではクラス定義に話を絞る。 メソッドの実体となる関数を定義する Init関数を作る rb_define_classで、新しいクラスを作る rb_define_methodで、クラスに1で作成したメソッドを追加する Makefil

  • C言語をブラウザで実行、Ruby/Python/Perlも然り | エンタープライズ | マイコミジャーナル

    Mozillaの研究部門に所属しているAtul Varma氏のブログにおいて、Running C and Python Code on The Webのタイトルで興味深い内容が紹介されている。タイトルだけ見るとWebアプリケーションでC言語やPythonのコードを実行すると言う話のようだが… 同氏のブログによれば、Adobe Systems, Scott Petersen氏が現在C言語で作成したコードをTamarin仮想マシンで実行できるようにするツールチェインを開発しており、近々オープンソースソフトウェアとして公開するという。TamarinはAdobeからMozillaへ寄贈されたJavaScriptエンジンだ。Firefox 3.0には取り込まれていないが将来的にはTamarinベースのJavaScriptエンジン実装がFirefoxに取り込まれるとみられている。時期は未定だがFire

  • C 言語をマスターしている人への perl 早見表

    変数の宣言の強制 変数のスコープ ループからの脱出 ファイル入出力 print 文関係 引数の取得 標準入出力 環境変数の取得 サブルーチンとの引数のやりとり foreach 文 文字列の連結 文字列のマッチング、比較 文字列の置換 文字列の分解 文字列の統合 文字列の処理 配列 2 次元配列 正規表現 if 構文 連想配列 ( ハッシュ変数 ) rewind eof find_header int と剰余 goto 文 ディレクトリの操作 ファイルテスト演算子 特殊変数 シグナル処理 ヒアドキュメント 配列全体に作用するコマンド ソート 省略形 入出力のバッファリングをしない 配列の要素のシフト 処理内容をファイルに落としてメールする system 文 ◆◆ 変数の宣言の強制 ◆◆ ファイルの先頭に use strict; と書くと、そのファイル中のメイン関数(関数宣言なしに 書き始め

  • Universalchardet - やる気向上作戦

    universalchardet / juniversalchardet Mozillaのエンコーディング判別ライブラリであるuniversalchardetを切り出して、Cライブラリ化してみた。さらにJavaにもポーティングしてみた。エンコーディング判別なのにcharacter set detectorとはこれいかに。 C版はLinux/Windowsに対応。Linuxでのインストールは make && make install で。autoconfなどという高尚なものは使っておりません。 文字コードの変換はこちら EncodingConversion Related Works jchardet (Java,旧バージョンのchardet) juniversalchardet(Java,universalchardetのJavaポート) Universal Encoding Dete

    paulownia
    paulownia 2007/03/28
    エンコーディング判定
  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

  • Cの老害 - odz buffer

    UNIX と C ってのは,やっぱり最悪のコンピュータウィルスだな.この 2 老害のせいで,計算機科学の発達は 20 年遅れた.こいつらのバッドノウハウにそそぎこまれた, 確かに autotools とかバッドノウハウ以外の何者でもないよなぁ。ないともっとアレなんだけど。 で、これを読んで、ふと思い出した。昔 Java-House で高木さんが似たようなこと言ってたような・・・ あった、これだ。 > > 悪しき習慣です。CやC++がプログラミングに携わる人のすべての必携の言語 > > として蔓延りかけてしまったことは、世界の情報産業の生産性をいったいど > > れだけ損失させたか計り知れません。 > > すべての必携の言語にCがなり得たのは、それだけ優れた言語だったからでしょう。 いいえ。一部の人が使うのには優れていますが万人が使うべきものではあり ません。C以外が普及しなかったのは、様々

    Cの老害 - odz buffer
  • C 言語

    Next: 目次 C 言語 稚内北星学園大学 情報メディア学部 金山 典世 E-mail: kanayama@wakhok.ac.jp 2001年 目次 1. 初めての C 1. C とは何か? 2. プログラムの作り方 3. 初めての C プログラム 4. 表示を改行したいときは 5. 名前も表示してみよう 6. 課題 1 2. 四則計算 1. 整数変数の宣言 1. 四則演算 2. 代入文 3. 変数の使用 2. 結果の表示 3. 課題 2 3. 制御構造1 判断 1. 簡単な判断 2. 比較演算 3. 真でない場合の判断 4. 更に複雑な判断 5. 日語とプログラム 6. 課題 3 4. 制御構造1 繰り返し(for文) 1. for 文の書式 2. 括弧の対応関係 -- vi の便利なコマンド 3. ソースプログラムの書き方 4. 課題 4 5. 入力の読み込みと制御構造 1. 入

    paulownia
    paulownia 2006/06/18
  • Codian

    Codian(こーでぃあん)は、Visual C++ 6.0を使用したC++言語によるプログラミングの解説を掲載しているコンテンツです。 ヘルプの見方やポインタといった基的なものから、DLLやシェルエクステンションといったマニアックなものまで、他では見られない情報を取りそろえております。 サンプルプログラム、解説共にVisual C++ 6.0用ですので、最近のVisual Studio.Netには対応しておりません。ご了承ください。 ちなみに「Codian」というタイトルは、「コード(プログラム)に従う人種」という意味から付けられたものです。

  • 初心者のC言語

    since:2002.06.02 更新に手が回らずすみません。 ANSI規格でもいいよという方は 御覧ください。m(_ _)m

    paulownia
    paulownia 2006/05/15
  • 1