タグ

C++に関するbasiのブックマーク (28)

  • 第1回 関数フローの採取 | gihyo.jp

    はじめに DTrace とは 皆さんは DTrace をご存知でしょうか? DTrace は Sun Microsystems のブライアン・キャントリル(Bryan Cantrill)氏によって開発された、汎用情報採取のフレームワークです。 キャントリル氏へのインタビューでも語られているように、カーネルの動作状況を調査/確認することは、これまで非常に困難な作業でした。 しかし、DTrace の登場により、実際に稼動中のシステムのカーネルからも、安全に(かつ低コストで)情報を採取できるようになりました。 また、DTraceによって解析が容易になったことで、これまで解決することができなかったSolarisカーネルの(潜在的だったものも含めた)実装上の問題も、多数改善することができたのだそうです。 カーネル開発に関わったことがある方ならもちろん、通常のアプリケーション開発であっても、次のような

    第1回 関数フローの採取 | gihyo.jp
    basi
    basi 2010/10/23
  • 変電工 - Google C++スタイルガイド日本語訳

    basi
    basi 2010/09/28
  • 人材獲得作戦に応募してみた - 簡潔なQ

    人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか の問題を解いてみた。 アルゴリズマーとしてはこの程度の問題20分で書けないとパソコン甲子園とかで辛いなあと思うのですが、40分でできました。 頭を使って解けるかどうかは知りませんが、知識としてこの程度の問題の解法を思いつける程度のものは持ってほしいですよね。 最短距離の算出は典型的なBFS。 最短ルートの特定はBFS深度を記憶して逆から探索する方法で、これはEdmonds-Karpで必要となる。 #include <cstdio> #include <string> #include <deque> #include <vector> #include <utility> using namespace std; int main(int argc, char **argv) { vector<vector<int> > ta

    人材獲得作戦に応募してみた - 簡潔なQ
  • gccだけでc++をコンパイルできますか?

    [上に] [前に] [次に] Phine 2000/03/24(金) 14:41:14 telnet で gcc は使えるんですけど、 g++ は Permission denied になってしまいます。 gcc -x `c++' -o test.cgi test.cc のようにしても上手くいきません。 gcc だけでは c++ はコンパイルできないんでしょうか? 2000/03/24(金) 15:03:01 gccのバージョンによります。 mizzy 2000/03/24(金) 15:12:12 エラーはどんな内容ですか?「Unmatched `.」とかじゃありませんか? gcc -x c++ -o test.cgi test.cc でいけるはずです。でも、-xオプションはなくてもよかったと思います。 H&A 2000/03/24(金) 15:16:50 まず、 % gcc --ve

    basi
    basi 2010/08/17
  • <iostream>と<iostream.h>の違い - C++ Builder / Turbo C++ 質問の木

    その昔、C++標準に仕様変更が有りました。その時に、 ・標準ライブラリのクラス/関数/変数には全て、頭に std:: を付けるようにする。 ・C++標準のヘッダ<~.h>は、.hを取って<~>とする。(例:<iostream>) ・C標準のヘッダ<~.h>は、<c~>とする。(例:<cstdio>) という3つの事が決まりました。つまり新しい仕様でのHello worldは、 #include <iostream> int main(){ std::cout << "Hello world." << std::endl; return 0; } となります。でも、いちいち std:: を付けるのは面倒なので、 using namespace std; と書けば、それ以降は std:: を省略できます。 #include <iostream> using namespace std; int

    basi
    basi 2010/08/17
  • はてなブログ | 無料ブログを作成しよう

    2024年夏 かばんの中身記録 みんな大好きかばんの中身。 当然私も大好きで、人様のブログ記事やSNS投稿を飽きもせず読み込みまくっています。なぜこんなにも見飽きないのか… 自分も以前同じようにかばんの中身の記事を書いたんですが、気づけばもう3年前!去年くらいの気分だった、月日がたつの…

    はてなブログ | 無料ブログを作成しよう
    basi
    basi 2010/08/17
  • FacebookのHiphopが早速公開されたようです:phpspot開発日誌

    Home - hiphop-php - GitHub FacebookのHiphopがGithubに米国時間の2月21日、早速公開されたようです。 HipHopとはFacebookで導入されているPHPコードをC++にする機構ですでに9割のサーバで動いてるという仕組みです。 現在のところ、64bit の CentOSとFedoraでうまく動くようになってるみたいです。残念ながら他のOSや32bitだとうまく動作しない模様。 環境をお持ちの方は以下を参考にビルドすればよさそう Building and installing - hiphop-php - GitHub Ubuntuな方はこちらが参考になります コードを動かすには以下を参照。 Running HipHop - hiphop-php - GitHub 環境がないので試せませんが、このページを見ると結構面白いことが書いてあります。

  • PHPをC++に変換して高速化する「HipHop for PHP」:phpspot開発日誌

    PHPC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog すでにご覧になったかもしれませんが、HipHop for PHP というものがfacebookからGitHubにてオープンソースで出るようです。 PHPのコードをC++のコードに変換できるということで、これまでも同様のものがありましたが、facebookで作成され、月間4000憶というPVの90%以上に耐えうる形で実運用に使われているところが期待せずにはいられないところですね。 これが実際に物凄く使えて安定し広く使われるようになれば、PHPというツールの価値がますます上がりそうです。 開発中はPHPで素早く開発し、番ではC++のコードが使えるというのはかなり凄いことです。 当たり前ですが、50%のCPU利用率が低下したということなので、単純

  • SimString - A fast and simple algorithm for approximate string matching/retrieval

    A fast and simple algorithm for approximate string matching/retrieval SimString is a simple library for fast approximate string retrieval. Approximate string retrieval finds strings in a database whose similarity with a query string is no smaller than a threshold. Finding not only identical but similar strings, approximate string retrieval has various applications including spelling correction, fl

  • すぐわかるC/C++

    このの概要 C++Windowsの橋渡しを狙ったCの参考書です。全章を踏破すれば,かなりのプログラミング技法を身につけることができます。 こんな方におすすめ 仕事でC言語を使おうとしている方 C++を勉強する前にC言語をもう一度復習したい方 第1章 C&C++入門 1.1 Cのプログラムの作り方 1.2 式の計算 1.3 いろいろな出力 1.4 変数の導入 1.5 文字列のための変数 1.6 いろいろな入力 1.7 場合分け 1.8 繰り返し 1.9 関数 1.10 配列 1.11 構造体 1.12 ポインタ 1.13 いろいろな補足 第2章 プログラミングの定石 2.1 長い文字列 2.2 安全な文字列の入力 2.3 文字列の編集 2.4 入力文字を制限するには? 2.5 簡易メニュー 2.6 ポインタ配列 2.7 乱数の発生 2.8 コマンドライン引数 第3章 “サウンド&グラフィ

    すぐわかるC/C++
    basi
    basi 2009/11/01
  • バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi

    Googleが公開したバイナリエンコード手法であるProtocol Buffersは、クライアントとサーバーの両方でシリアライズ形式を取り決めておき(IDL)、双方がそれに従ってデータをやりとりするようにします。 この方法では高速なデータのやりとりができる反面、IDLを書かなければならない、仕様を変えるたびにIDLを書き直さなければならない(あらかじめしっかりとIDLを設計しておかないとプログラミングを始められない)という面倒さがあります。 ※追記:Protocol BuffersのデシリアライザはIDLに記述されていないデータが来ても無視するので(Updating A Message Type - Protocol Buffers Language Guide)、仕様を拡張していっても問題ないようです。 一方JSONやYAMLなどのシリアライズ形式では、何も考えずにシリアライズしたデータ

    バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi
  • 続・バグを生まないコーディング法 | EE Times Japan

    フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動

  • Cybozu Developer Network: Facebookで開発されたオープンソースのRPCフレームワーク「Thrift」調査報告

    サイボウズはクラウドベースのグループウェアや業務改善サービスを軸に、社会のチームワーク向上を支援しています。

    Cybozu Developer Network: Facebookで開発されたオープンソースのRPCフレームワーク「Thrift」調査報告
  • MSDN ホームページ

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    MSDN ホームページ
  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録

    一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。 この問題は ハッカーのたのしみ―物のプログラマはいかにして問題を解くか (Google book search で原著 Hacker's delight が読めたのでそれで済ませた) で number of trailing zeros (ntz) として紹介されています。bit で考えたときに右側に 0 がいくつあるかを数えるもの。1 だと 0、2 だと 1、0x80 なら 7、12 なら 2 といったぐあい。0 のときに表題どおりの問題として考えるといくつを返すの?ってことになるので、

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録
  • Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!

    kazuhoさんがやってくれました。 ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが、幾らか気に入らない所があったりビルドが少し手間だったりしていました。STLしか使わなくてvectorとかmapで表現されるツリー構造な物が欲しいなぁって思ってたんです。 とあるIRCで昨日、kazuhoさんと「ほしいですよねー」という話から始まって、githubにあるjsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から格的に書き始めてついさっき出来上がりました。速いw 名前はpicojson とても小さく、実装コードだと300数十ステップ程です。しかもヘッダファイルだけなので管理が楽です。 試しにwassrのpubl

    Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • chaos2cosmos.net » Makefileの(おそらく正しい)書き方講座

    LinuxMacを使っていて,C++Texのコンパイルをするときにいちいち直接g++やplatexコマンドでコンパイルするのは効率が良いとはいえない.C++はリンクするライブラリを長ったらしく記述しなくてはいけないし,Texは2回コンパイルしなくては図表番号の索引が出来ないなどの煩わしい作業が伴うからだ. そこで,コンパイルの手順を記したMakefileを書こうという話になる.しかし,Makefileの記述方法は一歩間違うと,あまり作業が楽にはならない.ファイル間の依存関係をいちいち直接記述しなくてはいけないからだ.私の研究室の友達,後輩もこのMakefileの記述方法に四苦八苦している. この問題を解決する私なりのMakefileの一例を以下に示そう. C++ TARGET = name CXXFLAGS = -O2 -g -Wall LIBS = -lboost_thread -

  • AzaraC

    AzaraCは高速なCGIを効率よく作成するために開発されたC++用のテンプレートエンジンです。 新着情報 2006-10-27 AzaraC 0.3.0 同一キーに複数の値が割り当てられている入力を取得できるように変更 環境変数AZARAC_INCLUDE_PATHでテンプレートをコンパイルする際の-Iオプションを指定可能にした 環境変数AZARAC_LIBRARY_PATHでテンプレートをコンパイルする際の-Lオプションを指定可能にした 2006-10-16 AzaraC 0.2.0 POSTメソッドからの入力に対応 テンプレートエンジン AzaraCでは、Ruby on RailsPHPなどと同様に、Webページにプログラムを埋め込むことを可能にする「テンプレートエンジン」を提供します。テンプレートエンジンを利用することにより、デザインとロジックを分離したWebアプリケーションの作