タグ

cに関するshimanpのブックマーク (12)

  • 実践的低レベルプログラミング

    はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「

  • プログラミング言語Cについて知ろう

    プログラミング言語の基となる「C」。正しい文法や作法を身に付けよう。Cには確かに学ぶだけの価値がある(編集部) プログラミング言語Cは開発の仕事に役立つ人気のあるプログラミング言語です。 この連載では、Cでのソフトウェア開発をこれから始めようという方や、使った経験はあるが勉強し直したいという方のために、基をきちんと押さえながら勉強できるような解説をしていきます。 なるべく正しい文法や作法を身に付けていただくためにJIS規格を基に解説しますが、それだけにこだわらず実際の開発で役に立つことを分かりやすくお伝えしていきます。 Cの成り立ちと規格 まずは、Cの成り立ちと規格について知っておきましょう。ちょっと堅苦しい感じがするかもしれませんが、歴史を知っているとなぜこういう書き方をするのか、こういった機能があるのかといったことが分かります。また、規格を知っているとプログラミングをしていて何か

    プログラミング言語Cについて知ろう
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • 類似画像検索システムを作ろう - 人工知能に関する断創録

    C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます

    類似画像検索システムを作ろう - 人工知能に関する断創録
  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
  • Borland C++ Compiler 5.5のインストール方法:ITpro

    ボーランドのC/C++用コンパイラ「Borland C++ Compiler 5.5」のインストール/設定方法を説明します。 Borland C++ Compiler 5.5は無償のC/C++用コンパイラです。もしお持ちでない方は,ボーランドのWebサイトから入手してください。 インストールは以下の手順で進めます。 ステップ1:freecommandlinetools.exeを実行する。添付されているREADME.TXTもよく読んでください ステップ2:表示されるライセンス契約規定をよく読み,問題がなければ「同意する」をクリックする ステップ3:インストール先のフォルダを指定する画面が表示される。必要なら変更して「完了」をクリックする インストール先フォルダとしてデフォルトのc:\Borland\bcc55を選びます。もしほかのフォルダにインストールした場合には,以下の環境設定と文中

    shimanp
    shimanp 2009/06/28
  • インテル Parallel Studioを使って 並列化プログラミングを試してみた

    CPUのマルチコア化に伴い、開発者にも「並列プログラミング」が必要とされる時代になってきています。5月下旬にインテルがリリースした「インテル Parallel Studio」を利用すると、使い慣れたVisual Studioの開発環境で、並列化プログラミングの様々なサポートを得ることができます。稿では、その概要やインストール方法、テスト結果などについて解説します。 はじめに IT業界はよく日進月歩だと言われます。確かに我々開発者を取り巻く環境は日々変化し、新しいテクノロジーが毎月のように発表されています。しかし、ある程度経験を積んだ開発者は、そのような変化は表面上のものだと考えます。 プログラミング言語は進化し、どんどん新しい機能が追加されてゆき、それに伴い新しい開発環境が登場します。ですが、冷静に考えてみればそう慌てることはありません。昨今騒がれている言語の新しい機能も大半が古くからあ

    インテル Parallel Studioを使って 並列化プログラミングを試してみた
  • 100行のCプログラムでWebチャットを実装する方法 - mixi engineer blog

    例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI

    100行のCプログラムでWebチャットを実装する方法 - mixi engineer blog
  • 【ハウツー】ゼロからはじめるWindows API - WinMain 関数 すべての始まり編 | パソコン | マイコミジャーナル

    C言語を学習するときに必ず最初に出会うことになるprintf()関数を使えば、テキストをコンソール上に表示できます。しかし、普段使っているグラフィカルなアプリケーションと同じように、ウィンドウを表示してその中に図形やコントロールを表示するには、アプリケーションを実行するシステムが公開しているAPIを利用しなければなりません。 稿では、Windows アプリケーションの開発で必要となるWindows APIを毎回1つずつピックアップして、その機能や具体的な利用法について説明します。C言語を学習して次のステップに進みたい方や、逆に.NET FrameworkやJavaなどの仮想マシン上のアプリケーション開発経験者でネイティブのプログラミングを学習したい方に、参考にしていただければと思います。 現在、多くのアプリケーションが.NET Framerowkに移行していますが、こうした新しい仮想プラ

  • 標準C言語関数

    A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

    shimanp
    shimanp 2008/10/13
  • コンパイルエラーの読み方

    コンパイルエラーの読み方 [index] エラーは最初のものから修正 1個のエラーがそれ以降のエラーの原因になっていることがあります。エラーメッセージの上のモノから修正。 Borland C++ 5.5のコンパイラは次の書式でエラーや警告情報を書き出します。 以下の目次に初心者によく見られるエラーの種類を示しますので参考にしてください。 エラー Eエラー番号 ソースファイル名 行番号:エラーの種類 警告  W警告番号 ソースファイル名 行番号:警告の種類 目次 E2040 宣言が正しく終了していない [目次] E2054 else の位置が誤っている [目次] E2134 複合文に } がない  ブロック(複合文)のはじめと終わりを示す「{」と「}」の対応が取れていない。 プログラムは必ずきれいに字下げして、ブロックの対応がすぐわかるように書きましょう。 #include<stdio.

    shimanp
    shimanp 2008/10/13
  • C言語にてFTP転送ファイルを完了チェックしたい。

    shimanp
    shimanp 2008/10/13
  • 1