タグ

C++に関するkenkitiiのブックマーク (29)

  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
  • PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

    アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して

  • Programmer Feels Right EM_GETLINEの使い方

    前提:hwndEditTargetはMultiLineのEdit Controlのハンドル 注意 ・EM_GETLINEをsendmessageする前にバッファの先頭にサイズを設定しないと受け取ることができない ・1バイトのみのデータを受け取った場合、bufferには2バイト入っている(余分なバイトが1バイトある)ため切り捨てる必要有り int iCntLine = (int)SendMessage(hwndEditTarget,EM_GETLINECOUNT, 0, 0); //行数の取得 int iLength = 0; char bufLine[10000]; string strValue; for(int i = 0; i < iCntLine; i++) { ZeroMemory(bufLine, sizeof(bufLine)); //最初の2バイトにbufferサイズを書く

  • Big Sky :: C++で軽量Webサーバ書いた。

    書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:

    Big Sky :: C++で軽量Webサーバ書いた。
  • ウノウラボ Unoh Labs: Luaを設定ファイルとして使う

    テイルズオブヴェスペリアがPS3に移植されると聞いて、今年の夏にPS3を買うことを固く決意したbokkoです。部屋に置き場所がないとか、社会人になってから積みゲーがどんどん増えているとか、随分前にXBOX360版の総プレイ時間が三桁になっていることはこの際気にしないことにします。あと、機会があればCellとdtlを使って編集距離の計算をやってみたいです(多分あんまり速くない)。 Luaは軽量で高速なインタプリタ言語です。コアは非常に小さいのですが、テーブルというデータ構造や関数がファーストオブジェクトであることを利用して、来は機能としてないオブジェクト指向言語のような書き方をしたり、独自に拡張したりと、なかなかパワフルな言語です。実際の使われ方としてはアプリケーションに組み込んで使うことが多く、組み込み言語などと呼ばれることもあるようです。今回は、LuaのプログラムをC、C++で書かれた

  • Linus「C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる」

    /15 [4] (21:54) 原文: http://lwn.net/Articles/249460/ From: xxx To: xxx Subject: Re: [RFC] builin-mailinfo.c をマシな文字列ライブラリを使うようにすること Date: Thu, 6 Sep 2007 18:50:28 +0100 (BST) Message-ID: <alpine.LFD.0.999.0709061839510.5626@evo.linux-foundation.org> On Wed, 5 Sep 2007, Dmitry Kakurin wrote: > > Git のソースコードを最初に見たとき、ヘンだと思ったこと: > 1. C++ じゃなくてただの C を使ってる。理由は謎。移植性がどうとか言わないで、 > そんなのウソに決まってるから。 *あんた* のほうこそ

  • Gulfweed

    今年は @ohkura 君と2人で参加していました。チーム名は Mox Caml です。タップするとコンビネーターが出てきます。 まず、problem description をちゃんと読んでいなかったので、example に書いてある関数適用の方法と再帰呼び出しの方法に無駄に悩んでいたことは反省すべき。ohkura くんが自力で気づいたときは無駄に感動しあい、後ほどおもいっきり脱力しました。 1日目は simulator を書きながら attack や dec の使い方を考えていました。関数適用回数制限をチェックしない AI で invalid になりまくっていたが、理由を長い間理解できず。 2日目には attack も help をホイミにするのも慣れて結構上位に来る。このころの AI は最初に help ホイミを無限ループでうって HP 65535 のスロットでただただ敵を殴るもので

  • Java running faster than C

    Note: A lot of people seem to be taking this post to be the "Ultimate C vs Java shootout". It's not. Performance is a very complex topic. My only real point is this: Java (which used to be slow) has reached the class of "fast languages". For the majority of applications, speed is no longer a valid excuse for using C++ instead of Java. I just saw this page comparing the performance of several langu

    kenkitii
    kenkitii 2007/06/15
    Java (which used to be slow) has reached the class of "fast languages".
  • Tx: Succinct Trie Data Structure

    English 概要 TxはコンパクトなTrieを構築するためのライブラリです.従来のTrieの実装(darts等)に比べ1/4〜1/10の作業領域量で辞書を保持することができ、数億〜十億キーワードなど大規模な辞書を扱うことが可能です.Trieは文字列からなるキー集合を処理するデータ構造で、キーが辞書に含まれているかのみではなく、キーのPrefixが含まれているかを高速に求めることができます.内部データ構造にはSuccinct Data StructureであるLevel-Order Unary Degree Sequence (LOUDS)を利用しています. ダウンロード Txはフリーソフトウェアです.BSD ライセンスに従ってソフトウェアを使用,再配布することができます. tx-0.12.tar.gz: HTTP Archives tx-0.11.tar.gz: HTTP tx

  • 500行Lisp

    組み込み用途で500行のLispインタプリタ作ってみました。 使用言語はC++でboostライブラリ使ってます、 コンパイルは Windowsでcygwinをつかっているのならば、 最新のcygwin setup.exeで、devel -> boost-devel、gcc-c++ を選択し ソースコードをテキスト保存して > g++ hoge.cpp -o a.exe でコンパイルできます (Linuxや、そのほかのコンパイラでのboost C++ Libraries インストールにかんしてはコチラのサイトLet's Boostが詳しいです) 実行は、こんな感じ、 > a.exe "(+ (* 3 4 5) (* 5 6 7))" とりあえず四則演算と比較関数、if文と文字列の足し算とlambdaとクロージャーしか実装してません。 これからスレッドとか、ソケット周りとかを実装しようとおもっ

    500行Lisp
  • こども(てれび) - C++でSchemeインタプリタを作ろう

    少し作った。 (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) ; ok (factorial 10) ; 3628800おー。Accelerated C++ と Effective C++ というを読んだんだけど書き方がわからないのでひげぽんのコードを参考に勉強しようとしたんだけど日記にコードは殆ど載ってなくてつかえねーと思いつつ書いた。そういう訳であんまり C++ の勉強にはなってないような。ポインタとか参照とかリソース管理とかがさっぱりわからない。メモリが駄々漏れ。 以下ソースコード main #include <iostream> #include <scheme.h> using namespace std; using namespace scheme; int main() { Environme

    こども(てれび) - C++でSchemeインタプリタを作ろう
  • WILL - Visual C++/MFC 俺的メモ

    現在、Visual C++ 6.0 で MFC を使ったプログラミングの勉強中です。 で、プログラム組むに当たって発見した事とかをここにだらだらと書き残しておきます。 こうしたほうがいいよ、とかありましたら掲示板なりなんなりで教えていただけるとありがたかったりします。 ちなみに、翔泳社のプログラミング学習シリーズ Visual C++ 1〜3巻を読んで、その後プログラムを組むに当たってつまづいたところを書いてますんで、このを読めばとりあえずここを読んで参考にできるんではないかと思います。 ていうかこのすげーわかりやすくてサイコーなのでVCの勉強しようと思う方は是非買いましょう〜 Windows Moblie 5.0 + Visual Studio 2005 でメニューバーを作成する方法 - 更新:2006/09/06 23:59:35

  • やました工房 CodeTips

    ご注意 ここに記載されている内容は、コードを書く上で必要に迫られ、個人的に調べた内容を、 なにかの参考になればと掲載しているものです。 一般のコンピュータ技術誌や専門サイトのように十分なリサーチを行って情報提供を目的とするものではありません。 したがって、ここに記載されている内容を保証するものでも推奨するものでもありません。 これらの記事の利用・実行等の結果に対する責任を負うものではありません。 一部内容に正式にドキュメント化されていない項目があります。 これらは特に、内容が正確であることを保証するものではありません。 また将来変更、廃止される可能性は十分にあります。そのことを了解の上ご覧ください。 "Undocumnted"となっていても、世界のどこかにドキュメントが存在する可能性があります。 別の手段で同等の機能が提供されているかもしれません。 また、将

  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

  • PythonMatrix:C++開発統合環境の決定版!

    【1.1】   特徴 オープンソース GPL2ライセンスによる公開です。 クロスプラットフォーム wxWidgetsを使って開発されており、LinuxWindowsで動作確認済み。 MacPPCへのサポートが始まっているようです。 GNUコンパイラによるビルド プロプライエタリなライブラリへの依存がありません。 コンパイラーをバンドル Windows版はMinGWをバンドルしたリリースパッケージを用意 リリース版はインストーラ一発で開発環境のセッティングが完了する。 サポートコンパイラが豊富 GCC (MingW / Linux GCC) MSVC++(2003 2005) Digital Mars C++ Borland C++ 5.5 Intel C/C++ Open Watcom SDCC(ワンチップマイコン向け!) Digital Mars

  • QuickStart

  • まさーるのページ

    石井 勝 masarl@nifty.com まさーるのページにようこそ! このサイトでは,オブジェクト指向やプログラミングの話題を扱っています.書いていることはXPやデザインパターンなどですが,最終的には,どうすればSEが行っている作業を面白くし,仕事を楽にできるか,ということを目指しています.それでは,どうぞ. [プロフィール]  [リンク集]  [編集後記]  [Cotton Bolls] What's New NUnit Converter ver 1.0.0 ― 2004/07/04 Contents Eclipse Quick JUnitプラグイン (2003/12/23) Eclipse上でJUnitの起動,テストコードと実装コード間のエディタ切り替えを簡単に行うためのプラグインです. JUnit Diffプラグイン (2003/12/23) JUni

    kenkitii
    kenkitii 2006/06/10
    まさーるさんのページ
  • デザインパターンとOpen-Closed Principle

    1999/06/11 石井 勝 概要 この記事では,まずOpen-Closed Principleの意味と解説を行い,その後デザインパターンをOpen-Closed Principleの観点から眺めます.デザインパターンのうちの多くはOpen-Closed Principleを満たすために用意されたものとみなすことができます.Open-Closed Principleを理解し,数あるデザインパターンの中から,どういう場合にどのパターンを使うのが一番効果的なのかを考えます. 目次 はじめに ソフトウェアと連続性 仮想仕事の原理 修正と追加 Open-Closed Principle Open-Closed Principleの例 Open-Closed Principleの反例 オブジェクト指向とOpen-Closed Principle デザインパターンとOpen-

  • C++ Coding Standard

    Using this Standard. If you want to make a local copy of this standard and use it as your own you are perfectly free to do so. That's why I made it! If you find any errors or make any improvements please email me the changes so I can merge them in. I also have a programming blog at http://radio.weblogs.com/0103955/categories/stupidHumanProgramming/ that is accidently interesting at times, as is my

    kenkitii
    kenkitii 2006/05/20
  • はてなブログ | 無料ブログを作成しよう

    絵の超初心者ド下手くそ人間が、20日間絵を描いて感じたこと わたしは、「文の人」だ。絵を描くのは大の苦手。 そんなわたしが、ひょんなことから絵を描き始めた。 そうしたらおもしろくなって約20日間、なにがしかを描きつづけている。 未知の領域での挑戦は、発見が多い。 また、ここまで絵を描けない人間の挑戦は、あまりネッ…

    はてなブログ | 無料ブログを作成しよう