タグ

CとProgrammingに関するyokochieのブックマーク (90)

  • Emacs23.2が更に1ビット稼いだ秘密 — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

    yokochie
    yokochie 2010/05/11
    むずい。。。
  • CERT C コーディングスタンダード

    CERT C コーディングスタンダード 00. はじめに 01. プリプロセッサ (PRE) 02. 宣言と初期化 (DCL) 03. 式 (EXP) 04. 整数 (INT) 05. 浮動小数点 (FLP) 06. 配列 (ARR) 07. 文字と文字列 (STR) 08. メモリ管理 (MEM) 09. 入出力 (FIO) 10. 環境 (ENV) 11. シグナル (SIG) 12. エラー処理 (ERR) 13. Application Programming Interface (API) 14. 並行性 (CON) 49. 雑則 (MSC) 50. POSIX (POS) AA. 参考情報 BB. Definitions CC. 未定義の動作 DD. 未規定の動作 XX. お問い合わせ 00はじめに このページでは、JPCERTコーディネーションセンターが翻訳を行っている CE

    CERT C コーディングスタンダード
  • bwin·必赢(中国)唯一官方网站

  • 総合目次 - 苦しんで覚えるC言語

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

    総合目次 - 苦しんで覚えるC言語
  • 処理並列は、必ず処理速度が向上するのか

    はじめに CPUは、コンピューターの頭脳です。単純に考えると、頭脳が2つあれば、1つの時と比べて、同じ時間でたくさんのことを考えることができそうです。10年ほど前、Intel製プロセッサーPentium IIの頃から、1枚のボードに複数のCPUを載せて高速化する試みがなされました。Intel製CPUでは2ユニットまででしたが、SUN Microsystems製のコンピューターでは、もっとたくさんのユニットを載せることができていました。今では、CPU自体に複数の「コア」を載せ、1ユニットで同時に別々のことを実行できるようになっています。 ハードウェアが、同時に複数のことを実行できるようになったため、ソフトウェアもそれに対応する必要が出てきました。記事では、昨今あちらこちらで声高に繰り返される、「並列処理化すれば速くなる」に疑問を持ったため、それを検証することにします。 対象読者 なんといっ

    処理並列は、必ず処理速度が向上するのか
  • IPA セキュア・プログラミング講座:C / C++言語編

    IPA 独立行政法人 情報処理推進機構 セキュリティセンターによるセキュア・プログラミング講座:C / C++言語編

  • Linuxにおけるメモリ・プログラミング - Informatik-Wiki

    Linuxにおけるメモリ・プログラミング #weblog

    Linuxにおけるメモリ・プログラミング - Informatik-Wiki
  • gccに定義されているマクロ一覧表示 - とあるぼっちの生存報告

    $ echo | gcc -v -E -dM -

    gccに定義されているマクロ一覧表示 - とあるぼっちの生存報告
  • 我々はプログラミング雑誌を創刊す

    かつては、実に多くのプログラミング雑誌があったものだ。思い返せば懐かしい。雑誌に載っていたバイナリコードを、必死に打ち込んだ日を覚えているだろうか? カセットテープの音で、どのマイコンのデータかをあてる遊びをしたことはあるだろうか。かつては、NHKでさえ、記録テープを放送して、各家庭で録音させることで、マイコン向けのデータをブロードキャストしていたのである。 思えば、時代は変わった。我々のコンピューター技術は進化し、実に便利になった。誰か能く、リアルタイム3Dレンダリングを予想しただろうか。誰か能く、HD動画の、リアルタイムデコードを予想しただろうか。はた、今日のWebの興隆は如何。 コンピューターは進化し、便利になった。しかし、コンピューターをプログラムするのは、依然として、我ら人間である。プログラマである。プログラマが技術を習得すべきソースとなるのものは何ぞや。「ネットで誰かが書いてく

    yokochie
    yokochie 2010/03/01
    紙になるとコストがかかるので電子書籍的なものじゃないと継続できないような気がする
  • プリプロセッサ基礎文法最速マスター - デ-mk6

    最速だけに催促されたので書きますね! 1.基礎 印字命令を見てみましょう。 lesson1-1.cpp 123 abc AAAAAAAAAAAAAAAAA!と書いたファイルを実行すると、 123 abc AAAAAAAAAAAAAAAAA!このようになります。見てのとおり書いたまんま印字されるので、特に印字するための命令とかはないです。これだけだと「おいプログラミング言語ちゃうんかボケが!」と罵られること請け合いなので、印字以外の命令を見ましょう。 lesson1_2.cpp #define FOO 1 #define BAR A FOO BAR FOO FOO BAR結果は、 1 A 1 1 Aと印字されます(改行は適宜省略しています)。 「#define HOGE PIYO」と書くと、「以後に登場するHOGEをPIYOに置き換えますよ」という命令です。記号以外の文字が置き換え後として使

    プリプロセッサ基礎文法最速マスター - デ-mk6
  • 第10回 ポインタと構造体を理解してオブジェクト指向に備える

    前回は多次元配列にポインタでアクセスする方法や,動的に確保したメモリーをポインタで多次元配列のように扱う方法を説明しました。malloc関数*1などで動的に確保したメモリー上の固まり(メモリー・ブロック)をどう扱うかは,ポインタの宣言次第であることを見ていただきました。ポインタの宣言が難しそうに見えても,実際にメモリーに値が格納されている仕組みは単純なのだと感じていただけたでしょうか。 復習を兼ねて,一つサンプル・プログラムを見てみましょう。リスト1は,2次元配列をポインタで扱うプログラムです。リスト1の(1)で, char (*p)[10]; とポインタを宣言しました。これは配列のポインタ,正確に書けば「char型の要素を10個持つ配列へのポインタ」の宣言です。(2)のfor文に登場するポインタ*(p+i)はそれぞれ,str[0],str[1],str[2]を指します。 これとよく似たポ

    第10回 ポインタと構造体を理解してオブジェクト指向に備える
  • cscope: 対話的な C プログラムの検査

    第 9 章 cscope: 対話的な C プログラムの検査 cscope は、C、lex、または yacc のソースファイル内のコードの特定の要素を探し出す対話型プログラムです。cscope ブラウザを使用すると、従来のエディタよりも効率的にソースファイルを検索、編集できます。これは、cscope が関数呼び出し (関数がいつ呼び出され、いつその関数を実行するか) についてと、C 言語の識別子と予約語を理解しているためです。章は cscope ブラウザについて説明します。 この章は、このリリースに付属している cscope ブラウザの使い方を学ぶための資料として利用できます。説明項目は次のとおりです。 「cscope プロセス」 「基的な使用方法」 「不明な端末タイプのエラー」 cscope プロセス cscope は、C、lex、yacc のソースファイルを読み取り、ファイル内の関

  • ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要

    ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第1回では、ファイルディスクリプタの概要を紹介します。 はじめに ファイルディスクリプタ(Windowsではファイルハンドル)は、プロセスや実行ファイルにとって外部の資源にアクセスしたりアクセスされたりする際に使用される抽象的なインターフェースです。 今日のプログラムは必ずと言っていいほど外部とのインターフェースを持っていますが、新しいディスクリプタや効率的な使い方がそれほど明確ではなかったりします。 当連載では、ファイルディスクリプタに関する調査・試行錯誤した結果、新しいディスクリプタを使用した感想や効率的な管理方法など

    ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要
  • RのC拡張を触ってみたら修論用のプログラムが爆速になって新年早々鼻血がでそうになった件 - 元データ分析の会社で働いていた人の四方山話

    以前からRにはC拡張というのがあって、そいつを利用すると凄まじい事になるという話を聞いていたのですが、色々あって後回しにしていました。 しかし、お正月なので(?)、ふと思い立って触ってみました。 意外とまとまった解説はなさそう(?)なので、今日は一番シンプルなインタフェイス関数.Cを利用する方法について紹介してみます。 参考 いきなりですが、参考にしたところ http://d.hatena.ne.jp/syou6162/20090117/1232120983 Rから他言語利用 - RjpWiki http://cran.r-project.org/doc/contrib/manuals-jp/R-exts.jp.pdf というかWriting R Extensionsの4章を読めば何とかなる!! 手順 まずは大まかな手順を説明します。 RからCに投げたい部分の関数を作成する。 Cの関数をR

    RのC拡張を触ってみたら修論用のプログラムが爆速になって新年早々鼻血がでそうになった件 - 元データ分析の会社で働いていた人の四方山話
  • 簡単で難しい“正確なC言語”

    記者は日経ソフトウエアでここ4年半ほどC言語を使ったプログラミングの連載記事を担当している。「C言語好き」を自認してもいる。プログラムを書くことを直接の生業としていないので,プロのエンジニアに比べればずいぶんお気楽な「好き」には違いないが。 最初に連載を手がけたころはJavaの台頭がめざましい時期で,日経ソフトウエアでCプログラミングを連載するのもそろそろ最後かという空気すらあった。ならばということで,思い切り基礎に立ち返った内容で有終の美を飾ろうとしたところ,その連載がかなりの好評をいただいた。「やっぱりC言語の連載は必要だね」ということになり,現在に至るまで何らかの形でCプログラミングの連載が載り続けている。 C言語好きとしてはC言語の記事が載り続けるのは喜ばしいのだが,担当するようになって1年たち2年たつうちに,これでいいのかという問題意識が頭をもたげてきた。月刊誌の連載記事は長くて

    簡単で難しい“正確なC言語”
  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

  • C MAGAZINE - プログラミングの禁じ手Web版 C言語編

    プログラミングの禁じ手Web版 C言語編 /Top/今週のソースコード/プログラミングの禁じ手Web版 C言語編/ [←前] [次→]  [C言語版一覧] [C++版一覧] 誌2000年4月号に掲載された「特集1 プログラミングの禁じ手 C言語編」よりWebサイト用に抜粋したものです。ソースコードとともに公開いたします。作者の真紀俊男様に感謝します。 プログラミングは,「なぜかうまく進めなくなる」,「だんだんと期待した通りに動かなくなる」など,とても「イヤ」な面があります。そうした現実に直面したときに稿がお役に立てれば幸いです。

  • 参照はポインタと比べるべきではない - みねこあ

    協力会社のデキるプログラマを次々と切り、代わりにあまりものの正社員が投入されてしまった現在の我が開発チームのレベルは低く、殆どプログラミング専門学校のような様相を呈しています。可愛い男の子が「わかりませーん」というのは萌えますが、30台後半のおじさまが「わかりませーん」というのは殺意が沸きます。 自称 「STLは使ったこと無いけど、C++ 自体は解ってます」な方なのですが、「C++出来ます」の自己申告は危険です。たとえば、曰く、参照がわからない、ですとか。・・・・テケスタ。テケスタ。 ただ、参照には教え方にコツがあるのではないかと思いました。 Cのポインタが文法も概念も引っかき回していった後だけに、他の言語では何でもない「参照」がこんがらかりやすいのは事実です。そういう風に思い直して、こんな解説をしてみました。 * * * C++ の参照と対になるのは、ポインタではなく、通常の変数です。C

    参照はポインタと比べるべきではない - みねこあ
  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
  • インテル コンパイラー 1000本ノックプロジェクト | OSDN Magazine

    インテル コンパイラーにはさまざまな最適化機能が備えられており、そのためインテル コンパイラーでコンパイルしたプログラムは高速に動作すると言われている。しかし、そのためだけにわざわざソースコードからコンパイルを行うのは面倒だ、という人も多いだろう。そこでSourceForge.JP Magazine編集部では、インテル コンパイラーでコンパイルされたソフトウェアをより多くの人に試してもらうため、「インテル コンパイラー 1000ノックプロジェクト」と題し、インテル コンパイラーでコンパイルしたプログラムを公開することにした。 インテル コンパイラーには自動並列化や自動ベクトル化、プロシージャ間の最適化(Inter Procedural Optimization、IPO)など、高速に動作するバイナリコードを生成するための機構が備えられている。これによって、Visual C++やGCCなどで