programmingに関するyshigeruのブックマーク (79)

  • Automakeでmakeする

    [ C++で開発 ] Automakeでmakeする GNU Automakeを使用すると、簡単な記述でMakefileを生成してくれます。類似ツールにimakeがありますが、imakeは事実上X Window Systemの一部となっており、Xアプリケーション用に調整されているので、非Xな環境やアプリケーション開発に使う際にはやや面倒です。 Automakeの超簡単原理 Automakeは、makeコマンドでビルドするための設定記述ファイルMakefileを、極めて簡単に記述するためのツールです。通常Makefileには、コンパイルする際の諸設定、リンクする際の諸設定、処理順序などを逐一記述しておかなくてはなりません。これは、よっぽどMakefileに慣れていないと苦痛ですし、慣れていても面倒な作業です。そこで、Makefileよりもずっと簡単な設定ファイルMakefile.amだけを記

    yshigeru
    yshigeru 2012/03/16
    Automakeの簡単な使い方。
  • D-Bus Tutorial

    D-Bus is a system for interprocess communication (IPC). Architecturally, it has several layers: A library, libdbus, that allows two applications to connect to each other and exchange messages. A message bus daemon executable, built on libdbus, that multiple applications can connect to. The daemon can route messages from one application to zero or more other applications. Wrapper libraries or bindi

    yshigeru
    yshigeru 2012/03/08
    D-Busのチュートリアル。結構おもしろい。
  • http://www.freesoftwaremagazine.com/articles/building_shared_libraries_once_using_autotools

    yshigeru
    yshigeru 2012/03/06
    libtoolの詳しそうな説明。ちゃんと読んでない。こんくらい読まんといかん。
  • libtool on Linux, Cygwin and MinGW | Netsphere Laboratories

    (2003.11.30新規作成。) (2004.11.07 リンク切れを修正。) (2005.7.10 MinGWを追加。) (2023-03) 全体的に現在の挙動に更新。libtool v2.4.7. このページのサンプルプログラムの置き場所; cpp-examples/libtool-samples at main · netsphere-labs/cpp-examples · GitHub libtool は、共有オブジェクト (shared object; so、あるいは動的リンクライブラリ;DLL) を生成するための Makefile を、環境に依存せずに書くためのツール。 利用者 (プログラムの開発者) は、Makefile 上で、仮想的なファイル名でコンパイル、あるいはリンクするように書く。libtoolは、それらのファイルに対する操作を解釈して、実際のファイルに対するコンパ

    yshigeru
    yshigeru 2012/03/06
    libtoolの使い方。
  • ソースコードを快適に読むための GNU GLOBAL 入門 (後編)

    2009-03-09 前編では GNU GLOBAL のインストールからコマンドラインまでを、 中編ではエディタ (vim) からの使い方を書いた。 ソースコードを快適に読むための GNU GLOBAL 入門 (前編) ソースコードを快適に読むための GNU GLOBAL 入門 (中編) 後編では、ソースコードを HTML に変換して Web ブラウザから見られるようにする、 htags というコマンドについて書くよ。 といっても、エディタとの連携などと違って、それほど書くことはないんだけどね。 HTML への変換前に、 gtags コマンド(前編参照)でタグファイル (GTAGS など) を作成しておく。 次に、 ソースコードのルートディレクトリで htags コマンドを実行することで、ソースコードが HTML に変換される。 HTML 化されたデータは vim での :GtagsCur

    ソースコードを快適に読むための GNU GLOBAL 入門 (後編)
  • ソースコードを快適に読むための GNU GLOBAL 入門 (中編)

    2009-03-08 前編では GNU GLOBAL のインストールからコマンドラインでの global コマンドの使い方までを説明した。 中編ではエディタ (vim) と連携させる方法について。 Emacs を使っている人は「gtags emacs」で検索してみてください。ごめんなさい。 使い方 (3) - vim エディタから使う 事前の準備 vim から GNU GLOBAL を呼び出すためのプラグイン (gtags.vim) を設定する。 プラグインはGNU GLOBAL の share ディレクトリに入っている。 MacPort を使った場合は /opt/local/share/gtags。 Linuxだと /usr/share/gtags かな。 gtags.vim を、ホームディレクトリの .vim/plugin にコピーする。 $ mkdir -p $HOME/.vim/p

    ソースコードを快適に読むための GNU GLOBAL 入門 (中編)
  • ソースコードを快適に読むための GNU GLOBAL 入門 (前編)

    2009-03-07 ソースコードを読むときは、複数のファイルから目的の関数を探してエディタで開くという作業をすることが多い。 Eclipse や NetBeans などの統合開発環境上で Java を読む場合は、クラスやメソッドの一覧からソースコードへ簡単にジャンプすることができる。 ターミナル上で C を読む場合は、 grep コマンドで関数を探してエディタ (vim) で開いていたんだけど、ファイル数が多くなると目的の関数に辿り着くのが大変になってくる。 そこで GNU GLOBAL というソースコード解析ツールを試してみたら、ソースコードを読む作業がとても快適になった。 このツールの存在は前から知っていたんだけど、ネット上では「ソースコードタグシステム」、「ctagsのようなもの」という説明が多く、 ctags が何なのかを分かっていない僕には、便利だけど難しそうなものだと勝手に思

    ソースコードを快適に読むための GNU GLOBAL 入門 (前編)
    yshigeru
    yshigeru 2012/03/01
    ctagsの限界に達した。
  • asm64-handout.dvi

    x86-64 Machine-Level Programming∗ Randal E. Bryant David R. O’Hallaron September 9, 2005 Intel’s IA32 instruction set architecture (ISA), colloquially known as “x86”, is the dominant instruction format for the world’s computers. IA32 is the platform of choice for most Windows and Linux machines. The ISA we use today was defined in 1985 with the introduction of the i386 microprocessor, extending th

    yshigeru
    yshigeru 2012/02/29
    x86-64のマシン語のプログラミングについて。
  • https://archive.kernel.org/oldlinux/htmldocs/kernel-hacking.html

    yshigeru
    yshigeru 2012/02/29
    カーネルのDocumentディレクトリに入ってるヤツ?
  • 割り込みをつかう

    なんらかのI/Oボードのデバイスドライバを作ろうと思ったとき、割り込みを使いたいことはよくあります。 ある程度遅いデバイスならポーリングをつかって、処理すればいいかと思いますが、それですと、最低間隔はLinuxのタイマ割り込み(標準 10ミリ秒)になってしまいます。 やっぱり、割り込みは便利です。 MS-DOSなどで割り込みを使った方がいらっしゃるかと思いますが、Linux の場合、あれより遥かに簡単です。 割り込みコントローラの処理などは全部 Linux がやってくれて、ドライバ側ですることは「この関数を呼んでください」と登録するだけです。 さらに、Linux では「割り込みの共有」がちゃんとできるので、拡張ボードを挿したら割り込みがたらなくなった、ということもありません(もちろん、独占欲の強いデバイスもありますが....)。 ここでは まずは、ちょっと不安ですが分かりやすい簡単な例で割

    yshigeru
    yshigeru 2012/02/29
    割り込みで遊んでみる。ちょっと古い。
  • Omicron Linux/LKM/GDBを使ってコードを追っかける

    Linux/GDBを使ってコードを追っかける」のカーネルモジュール編 gdb vmlinux /proc/kcore では、カーネルモジュールのシンボルが読み込まれないので、gdbが起動した後にadd-symbol-fileコマンドを使ってシンボルを読み込む必要がある。ただし、単純に (gdb) add-symbol-file net/ipv4/tcp_cubic.o としても、相対アドレスなので、使えない。そこで、.text、.dataセクションなどの先頭番地をgdbに教える必要がある。これらのアドレスは、/sys/module/モジュール名/sections/以下のファイルを見ればわかる。 # ls /sys/module/tcp_cubic/sections/ . .data .gnu.linkonce.this_module .strtab __param .. .data.re

    yshigeru
    yshigeru 2012/02/29
    kprobeの簡単な使い方。 これくらいわかってれば十分だと思う。
  • Gitを使いこなすための20のコマンド | OSDN Magazine

    LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 なお、Gitの基的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。

    Gitを使いこなすための20のコマンド | OSDN Magazine
    yshigeru
    yshigeru 2011/08/20
    gitについてよくまとまっている。
  • プログラミング用フォント Ricty

    お知らせ Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 序文 Ricty(リクティ)は Linux 環境での研究・開発を想定したプログラミング用フォントです。テキストエディタやターミナルエミュレータ、プログラミング言語やマークアップ言語に対する使用に適しています。Inconsolata と Migu 1M の合成、および、プログラミング用フォントとしてのいくつかのチューニングを行う生成スクリプトを配布しています。Inconsolata 作者の Raph Levien 氏、Migu 1M 作者の itouhiro 氏、M+ M Type-1

    yshigeru
    yshigeru 2011/05/03
    Font for programming.
  • gccのx86インラインアセンブリに関して

    GCCでインラインアセンブリを使用 する方法と留意点等 for x86  (1999〜2006年10回改訂、2006年1月22日と2011年3月22日に注意を追加、最終更新日2011年3月22日) 文: A. SAITOH <s-akira at users.sourceforge.net>  home ※システム名、CPU名は一般に開発会社の登録商標です。 以下の情報はあまり過度に信用しないで下さい。より正確な情報は、asやgccのinfoから得て下さい。 個々のプロセッサ命令の解説はここでは述べません。そのような技術資料は、インテルやAMDのウェブ サイトのdeveloper向けのページからpdf形式で入手できます。 以下の文及びプログラム例の運用結果に関して、筆者は一切責任を負いません。 参考文献 [0] D. Stancevic, K. Scheibler, J. Leto, Li

    yshigeru
    yshigeru 2011/04/16
    gccのx86インラインアセンブラについての概要
  • メモを書き込みながらコードリーディングする方法 - (ひ)メモ

    調べたいことがあってApacheやらlighttpdやらkeepalivedやらのソースコードを読むときはGNU GLOBALを使ってたんですが、常々、メモが書き込めたらいいのになーと思ってました。 フローのメモ 関数の動作、影響のメモ マクロのメモ とかとか その場では覚えてられるんですが、最近は性能劣化のため日をまたぐと脳内バッファがフラッシュされるようになってきたので、howmでメモったり紙に印刷して手書きでメモったりしてたんですが、なんかどうもいまいち。 GLOBALのページに直接付箋はれるといいのになぁと思ってちょっと探したところ、InternoteというステキなFirefoxのextensionがありました。 こんな感じです: みんなでメモをシェアするのには向きませんが、個人的なメモをとるのにはよさげです。

    メモを書き込みながらコードリーディングする方法 - (ひ)メモ
    yshigeru
    yshigeru 2011/02/18
    Internote:webページにメモできるfirefoxプラグイン
  • 日本のソフトウェア産業は「製造業」 - My Life After MIT Sloan

    これは、MIT SloanのCusumano先生がでも授業でもよく言ってる話。 面白いから忘れないうちに書き記しておく。 Cusumano先生は、Microsoft SecretやPlatform Leadershipで有名なソフトウェアビジネスの研究者。 日の企業研究も色々されているし、一橋大学のビジネススクールで何年か教えてらしたりした日通でもある。 そのCusumano先生が、ソフトウェア産業への取り組み方を比較して、こんなことを言っていた。 Europe: Software as a science -ヨーロッパにとってソフトウェアは「科学」 Japan: Software as production -日のソフトウェアは「製造業」 India: Software as a service -インドのソフトウェア産業は「(プロフェッショナル)サービス」 U.S.: Soft

  • C/C++プログラマのためのDTrace入門 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    C/C++プログラマのためのDTrace入門 記事一覧 | gihyo.jp
  • コンピュータサイエンス史上最大の課題「並列処理による性能向上」~情報処理学会創立50周年記念全国大会の招待講演

    「いま、並列処理の壁というコンピュータサイエンス史上最大の課題に直面しています。しかしこれはチャンスでもあります。新しい時代を切り開いていきましょう」。IBM名誉フェローのFran Allen氏は、昨日3月10日に行われた日の情報処理学会創立50周年記念全国大会の招待講演の演壇からこんなメッセージを聴衆に投げかけました。 Fran Allen氏は、コンパイラやプログラミング言語が専門で、女性で初めてチューリング賞を受賞した人。今回の招待講演のためにわざわざ来日したと紹介されました。 講演のタイトルは「The Challenge of the Multicores」。ここからは、Allen氏の講演の内容を紹介しましょう。 (この講演は英語で行われたものです。内容にはできるだけ正確を期したつもりですが、理解不足のところや聞き取れなかったところもありました。もし誤解や不正確なところがありました

    コンピュータサイエンス史上最大の課題「並列処理による性能向上」~情報処理学会創立50周年記念全国大会の招待講演
  • 我々はプログラミング雑誌を創刊す

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

  • ocamlunix

    The english translation of Xavier Leroy and Didier Rémy’s introductory course to Unix system programming in OCaml. Admins: user205 Members: user205 Registered: 2008-11-28 16:08:17 Archived data: 0 open bugs 0 open feature requests 0 mailing list 0 VCS 0 released files

    yshigeru
    yshigeru 2010/02/26
    OCamlによるUnixシステムプログラミング